【发布时间】:2018-11-02 16:57:36
【问题描述】:
几周前,使用此处发布的信息,我能够使用 3.0 版 CLI 成功配置新的 Vue 项目以使用 sass-resource-loader:Using sass-resources-loader with vue-cli v3.x
但是,今天更新所有内容后,我在运行 npm run serve 时遇到以下错误:
TypeError: Cannot read property 'scss' of undefined
似乎被传递到.tap(options) 的唯一选项是:
{ compilerOptions: { preserveWhitespace: false } }
我目前对chainWebpack 的了解还不够,无法有效地进行调试,但我正在努力。如果有人对导致此错误的更改有任何见解,我们将不胜感激。
我的vue.config.js:
const path = require('path')
module.exports = {
chainWebpack: (config) => {
config
.module
.rule('vue')
.use('vue-loader')
.tap((options) => {
console.log(options)
options.loaders.scss = options.loaders.scss.concat({
loader: 'sass-resources-loader',
options: {
resources: [
path.resolve('./src/scss/_variables.scss'),
path.resolve('./src/scss/_mixins.scss')
]
},
})
return options
})
config
.module
.rule('scss')
.use('sass-resources-loader')
.loader('sass-resources-loader')
.options({
resources: [
path.resolve('./src/scss/_variables.scss'),
path.resolve('./src/scss/_mixins.scss')
]
})
}
}
【问题讨论】:
-
您可以使用本页底部的 Vue CLI 文档github.com/vuejs/vue-cli/blob/dev/docs/css.md 中指定的 css 加载器选项,而不是利用 webpack 链
标签: javascript webpack vue.js vue-cli