在开发中有时,我们定义了大量的基础样式变量,例如:
大量的vue单文件组件会用到这些变量,每个组件都引人一次又太麻烦。全局引入是个不错的方法,于是,在main.js 中引入variable.styl文件,但是你会发现,并不起作用。
在查阅了vue cli官方文档后发现,有官方支持的方法。
- 1、给sass样式传入共享的全局变量
有的时候你想要向 webpack 的预处理器 loader 传递选项。你可以使用 vue.config.js
中的 css.loaderOptions
选项。比如你可以这样向所有 Sass 样式传入共享的全局变量:
// vue.config.js module.exports = { css: { loaderOptions: { // 给 sass-loader 传递选项 sass: { // @/ 是 src/ 的别名 // 所以这里假设你有 `src/variables.scss` 这个文件 data: `@import "~@/variables.scss";` } } } }
2、给stylus样式传入共享的全局变量
// vue.config.js 文件 module.exports = { css: { loaderOptions: { // 给 stylus-loader 传递选项 stylus: { import: '~@/common/stylus/color.styl' } } } }