sass-loader 9.0.x & vue: ValidationError: Invalid options object。 Sass Loader 已使用选项对象初始化

Posted

技术标签:

【中文标题】sass-loader 9.0.x & vue: ValidationError: Invalid options object。 Sass Loader 已使用选项对象初始化【英文标题】:sass-loader 9.0.x & vue: ValidationError: Invalid options object. Sass Loader has been initialized using an options object 【发布时间】:2020-10-27 22:59:58 【问题描述】:

我最近将我的 sass-loader 从 8.0 升级到 9.0,当我运行 npm run build (vue-cli-service build) 时出现此错误

ValidationError: Invalid options object. Sass Loader has been initialized using an options 
object that does not match the API schema.- options has an unknown property 'prependData'

prependData这个词唯一出现在我的vue.config.js中:


  //...
  publicPath: process.env.VUE_APP_ASSETS_PUBLIC_PATH,
  css: 
    loaderOptions: 
      scss:  // \/\/\/\/ here's prependData below
        prependData: `
            @import "~@salesforce-ux/design-system/design-tokens/dist/theme-one-salesforce.default.scss";
          `
      
    

【问题讨论】:

【参考方案1】:

vue.config.js 中的prependData 更改为additionalData

更多信息在the changelog for vue-loader 9.0.0:

删除了 prependData 选项以支持附加数据选项,请参阅docs

vue-loader guide 现在已经过时,错误地建议使用prependData

【讨论】:

感谢您指出这个问题。我做了一个pull request with vue-loader。

以上是关于sass-loader 9.0.x & vue: ValidationError: Invalid options object。 Sass Loader 已使用选项对象初始化的主要内容,如果未能解决你的问题,请参考以下文章

SCSS 在 Vue JS 中无需 SASS-loader 即可工作

无法使用 `sass-loader` 内联样式

[解决]TypeError: this.getOptions is not a function

带有 sass-loader 和 resolve-url-loader 的 Webpack 4 - 找不到图像路径

解决sass-loader和node-sass版本冲突问题(太难了)

解决sass-loader和node-sass版本冲突问题(太难了)