Vue scss 预加载

276 阅读1分钟

 1、安装

npm i -D style-resources-loader

2、vue.config.js文件添加

   2.1 新增addStyleResource 方法

const path = require('path')function addStyleResource (rule) {  rule.use('style-resource')    .loader('style-resources-loader')    .options({      patterns: [        path.resolve(__dirname, './src/style/imports.scss')      ]    })}

2.2 module.exports 新增chainWebpack

 chainWebpack: config => {    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']    types.forEach(type => addStyleResource(config.module.rule('scss').oneOf(type)))  },


let randomDirectory = Math.random().toString().slice(2)const path = require('path')function addStyleResource (rule) {  rule.use('style-resource')    .loader('style-resources-loader')    .options({      patterns: [        path.resolve(__dirname, './src/style/imports.scss')      ]    })}module.exports = {  chainWebpack: config => {    const types = ['vue-modules', 'vue', 'normal-modules', 'normal']    types.forEach(type => addStyleResource(config.module.rule('scss').oneOf(type)))  },  publicPath: process.env.NODE_ENV === 'production' ? process.env.VUE_CDN_URL : '/',  assetsDir: randomDirectory, // 生成随机目录  productionSourceMap: false,  outputDir: 'advisor',  lintOnSave: false,  devServer: {    proxy: {      '/api': {        target: 'http://api.test2.premom.tech',        authorization: false,        changeOrigin: true,        pathRewrite: {          '/api': '/'        }      }    }  },  css: {    loaderOptions: {      sass: {        prependData: `@import "./src/style/variables.scss";`      }    }  }}