3. css相关 – Vue CLI

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 字段。

本站文章如未注明均为原创 | 文章作者:刘晓帆 | 转载请注明来自:前端印象

发表评论

邮箱地址不会被公开。 必填项已用*标注

浏览量:387 次浏览