使用 sass-resources-loader 和 vue-cli v3.x
Using sass-resources-loader with vue-cli v3.x
如何使用 sass-resources-loader 和 vue-cli@3.x 添加全局 scss 变量和 mixins。
vue-cli@3.x 使用 webpack-chain 来管理它的 webpack 配置。将 sass-resources-loader 添加到预定义的 webpack 配置中。将以下内容添加到 vue.config.js
vue.config.js
const path = require('path')
module.exports = {
lintOnSave: false,
chainWebpack: (config) => {
config
.module
.rule('vue')
.use('vue-loader')
.tap((options) => {
options.loaders.scss = options.loaders.scss.concat({
loader: 'sass-resources-loader',
options: {
resources: path.resolve('./src/scss/_variables.scss'),
},
})
return options
})
config
.module
.rule('scss')
.use('sass-resources-loader')
.loader('sass-resources-loader')
.options({
resources: path.resolve('./src/scss/_variables.scss'),
})
},
}
希望对您有所帮助!
如您在 the docs 中所见,最简单的方法是对 sass 预处理器使用 loaderOptions。不需要任何额外的依赖:
module.exports = {
css: {
loaderOptions: {
sass: {
prependData: `
@import "@/scss/_variables.scss";
@import "@/scss/_mixins.scss";
`
}
}
}
};
css: {
loaderOptions: {
stylus: {
loader: 'stylus-resources-loader',
import: [path.resolve(__dirname, 'src/styles/imports.styl')]
}
}
}
如何使用 sass-resources-loader 和 vue-cli@3.x 添加全局 scss 变量和 mixins。
vue-cli@3.x 使用 webpack-chain 来管理它的 webpack 配置。将 sass-resources-loader 添加到预定义的 webpack 配置中。将以下内容添加到 vue.config.js
vue.config.js
const path = require('path')
module.exports = {
lintOnSave: false,
chainWebpack: (config) => {
config
.module
.rule('vue')
.use('vue-loader')
.tap((options) => {
options.loaders.scss = options.loaders.scss.concat({
loader: 'sass-resources-loader',
options: {
resources: path.resolve('./src/scss/_variables.scss'),
},
})
return options
})
config
.module
.rule('scss')
.use('sass-resources-loader')
.loader('sass-resources-loader')
.options({
resources: path.resolve('./src/scss/_variables.scss'),
})
},
}
希望对您有所帮助!
如您在 the docs 中所见,最简单的方法是对 sass 预处理器使用 loaderOptions。不需要任何额外的依赖:
module.exports = {
css: {
loaderOptions: {
sass: {
prependData: `
@import "@/scss/_variables.scss";
@import "@/scss/_mixins.scss";
`
}
}
}
};
css: {
loaderOptions: {
stylus: {
loader: 'stylus-resources-loader',
import: [path.resolve(__dirname, 'src/styles/imports.styl')]
}
}
}