And*_*oyd 11 javascript webpack vue.js vue-cli
sass-resource-loader几周前,我使用3.0版本的CLI成功配置了一个新的Vue项目,使用此处发布的信息:使用sass-resources-loader和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')
]
})
}
}
Run Code Online (Sandbox Code Playgroud)
您使用vue-cli@3.x,这可能意味着您的项目使用vue-loader@15.x
自版本15以来,vue-loader不需要额外的加载器配置.您只能配置主Webpack加载器.
const path = require('path')
module.exports = {
chainWebpack: (config) => {
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')
]
})
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用
vue inspect或./node_modules/.bin/vue-cli-service inspect命令检查webpack配置.
| 归档时间: |
|
| 查看次数: |
4537 次 |
| 最近记录: |