webpack Vue CLI 3 sass-resources-loader - Options.loaders undefined

rqdpfwrv  于 2023-08-06  发布在  Webpack
关注(0)|答案(1)|浏览(102)

几周前,我成功地使用CLI的3.0版本配置了一个新的Vue项目来使用sass-resource-loader,使用这里发布的信息:在vue-cli v3.x中使用sass-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')
        ]
      })
  }
}

字符串

xxe27gdn

xxe27gdn1#

您使用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')
        ]
      })
  }
}

字符串
您还可以使用vue inspect./node_modules/.bin/vue-cli-service inspect命令检查webpack配置。

相关问题