可以在 main.js 全局引入,下面是使用方法。
1: 安装 node-sass
、 sass-loader
、 style-loader
npm install node-sass --save-dev | |
npm install sass-loader --save-dev | |
npm install style-loader --save-dev |
2: 安装 sass-resources-loader (如果不安装的话变量会报错)
npm install sass-resources-loader --save-dev |
3:vue-cli4.0 配置方法
// vue.config.js | |
module.exports = { | |
publicPath: './', | |
outputDir: 'dist', | |
assetsDir: 'static', | |
indexPath: 'index.html', | |
filenameHashing: true, | |
lintOnSave: true, | |
productionSourceMap: false, | |
css: { | |
loaderOptions: {} | |
}, | |
chainWebpack: config => { | |
const oneOfsMap = config.module.rule('scss').oneOfs.store | |
oneOfsMap.forEach(item => { | |
item | |
.use('sass-resources-loader') | |
.loader('sass-resources-loader') | |
.options({ | |
// 要公用的 scss 的路径 | |
resources: './src/assets/scss/public.scss' | |
}) | |
.end() | |
}) | |
} | |
} |
在 main.js 里面引入即可,
或者是不在 main.js 引入,单独在组件引入也可以,在组件中的 style 标签添加 lang="scss"。
4: vue-cli2.0 配置方法,修改 build 中的 utils.js
scss: generateLoaders('sass'), | |
修改成: | |
scss: generateLoaders('sass').concat( | |
{ | |
loader: 'sass-resources-loader', | |
options: { | |
resources: path.resolve(__dirname, '../src/assets/main.scss') //这里写自己的文件路径 | |
} | |
} | |
) |