ここに投稿された情報を使用して、数週間前に_sass-resource-loader
_を使用するために、3.0バージョンのCLIを使用して新しいVueプロジェクトを正常に構成できました: sing sass- vue-cli v3.xを使用したresources-loader
ただし、今日すべてを更新した後、_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')
]
})
}
}
_
_[email protected]
_を使用します。これはおそらく、プロジェクトが_[email protected]
_を使用していることを意味します バージョン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')
]
})
}
}
_
_
vue inspect
_または_./node_modules/.bin/vue-cli-service inspect
_コマンドを使用して、webpackの設定を検査することもできます。