1 引用静态资源
所有编译后的 CSS 都会通过 css-loader 来解析其中的 url()来进行引用,如果你想要引用一个 npm 依赖中的文件,或是想要用 webpack alias,则需要在路径前加上 ~
2 预处理器
如果创建项目时没有选择预处理器 (Sass/Less/Stylus),可以手动安装相应的 webpack loader,例如:
npm install -D sass-loader sass
3 自动化导入
通常一个项目中我们会有一些公共的css文件来定义颜色,mixin等等,例如variable.sass里面定义了一些字号、颜色等等。每次我们在页面中要使用这些公共的变量时都需要先把variable.sassimport进来,有点麻烦。你可以使用 style-resources-loader来完成自动导入,来避免手动操作。配置方法如下:
// vue.config.js const path = require('path') module.exports = { chainWebpack: config => { const types = ['vue-modules', 'vue', 'normal-modules', 'normal'] types.forEach(type => addStyleResource(config.module.rule('scss').oneOf(type))) }, } function addStyleResource (rule) { rule.use('style-resource') .loader('style-resources-loader') .options({ patterns: [ path.resolve(__dirname, './src/styles/variable.sass'), ], }) }
4 PostCSS
通过 vue.config.js 中的 css.loaderOptions.postcss 配置 postcss-loader。项目默认开启了 autoprefixer。如果要配置目标浏览器,可使用 package.json 的 browserslist 字段。