dcloudio / uni-app

A cross-platform framework using Vue.js
https://uniapp.dcloud.io
Apache License 2.0
40.03k stars 3.63k forks source link

vue-cli 项目启动报错: options has an unknown property 'additionalData' #3170

Closed rubickecho closed 9 months ago

rubickecho commented 2 years ago

问题描述

  1. 项目用 vue-cli 创建,版本 4.5.15
  2. "node-sass": "^6.0.1", "sass-loader": "10.2.0"

更新依赖后,安装到最新依赖 @dcloudio/vue-cli-plugin-uni@2.0.1-33520211229002,启动项目报错,报错信息如下:

 error  in ./src/App.vue?vue&type=style&index=0&lang=scss&

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 'additionalData'. These properties are valid:
   object { implementation?, sassOptions?, prependData?, sourceMap?, webpackImporter?, nvue? }

预期结果 正常启动

实际结果 sass-loader 报错

系统信息:

> node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js

uni-app v3.3.5
uni-app cli v2.0.1-33520211229002

Environment Info:

  System:
    OS: macOS 11.4
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
  Binaries:
    Node: 16.3.0 - ~/.nvm/versions/node/v16.3.0/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v16.3.0/bin/yarn
    npm: 7.15.1 - ~/.nvm/versions/node/v16.3.0/bin/npm
  Browsers:
    Chrome: 97.0.4692.71
    Firefox: 91.0.2
    Safari: 14.1.1
  npmPackages:
    @dcloudio/types: * => 2.5.16
    @dcloudio/uni-app-plus: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-app-plus-nvue:  0.0.1
    @dcloudio/uni-app-plus-nvue-v8:  0.0.1
    @dcloudio/uni-automator: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-cli-i18n: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-cli-shared: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-h5: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-helper-json: * => 1.0.13
    @dcloudio/uni-i18n: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-migration: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-360: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-alipay: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-baidu: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-kuaishou: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-lark: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-qq: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-toutiao: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-vue: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-mp-weixin: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-quickapp-native: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-quickapp-webview: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-stat: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/uni-template-compiler: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/vue-cli-plugin-hbuilderx: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/vue-cli-plugin-uni: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/vue-cli-plugin-uni-optimize: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/webpack-uni-mp-loader: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @dcloudio/webpack-uni-nvue-loader:  0.0.1
    @dcloudio/webpack-uni-pages-loader: ^2.0.1-32920211122003 => 2.0.1-33520211229002
    @hap-toolkit/dsl-vue:  0.6.13
    @vue/babel-helper-vue-jsx-merge-props:  1.2.1
    @vue/babel-helper-vue-transform-on:  1.0.2
    @vue/babel-plugin-jsx:  1.1.1
    @vue/babel-plugin-transform-vue-jsx:  1.2.1
    @vue/babel-preset-app:  4.5.15
    @vue/babel-preset-jsx:  1.2.4
    @vue/babel-sugar-composition-api-inject-h:  1.2.1
    @vue/babel-sugar-composition-api-render-instance:  1.2.4
    @vue/babel-sugar-functional-vue:  1.2.2
    @vue/babel-sugar-inject-h:  1.2.2
    @vue/babel-sugar-v-model:  1.2.3
    @vue/babel-sugar-v-on:  1.2.3
    @vue/cli-overlay:  4.5.15
    @vue/cli-plugin-babel: 4.5.15 => 4.5.15
    @vue/cli-plugin-router:  4.5.15
    @vue/cli-plugin-vuex:  4.5.15
    @vue/cli-service: 4.5.15 => 4.5.15
    @vue/cli-shared-utils:  4.5.15
    @vue/component-compiler-utils:  3.3.0 (3.3.0)
    @vue/devtools-api:  6.0.0-beta.15
    @vue/preload-webpack-plugin:  1.1.2
    @vue/shared: ^3.0.0 => 3.2.26
    @vue/web-component-wrapper:  1.3.0
    mpvue-page-factory:  1.0.1
    mpvue-template-compiler:  1.0.13
    uni-h5-vue:  2.6.10
    uni-mp-vue:  2.6.10
    vue: ^2.6.11 => 2.6.14
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.9.8 (16.8.3, 15.9.8)
    vue-router:  3.0.1
    vue-style-loader:  4.1.3 (4.1.3)
    vue-template-compiler: ^2.6.11 => 2.6.14 (2.6.14)
    vue-template-es2015-compiler:  1.9.1
    vue3:  1.0.0
    vuex: ^3.2.0 => 3.6.2 (3.6.2)
  npmGlobalPackages:
    @vue/cli: Not Found

补充信息

执行 vue inspect > output.js 检查 webpack 配置,additionalData 写法核对 sass-loader@10 官方文档是正确的 image

后检查 @dcloudio/vue-cli-plugin-uni/packages/sass-loader 该库 sass-loader 版本,发现它使用的 8,问题应该出在这里 image

sass-loader 官方文档截图

image

fxy060608 commented 2 years ago

目前可以先把项目内的package.json中 sass-loader 移除掉

fxy060608 commented 2 years ago

https://github.com/dcloudio/uni-app/commit/7a22ae9e2152e71ac1d3d7a2306deffd6edb54b7

rubickecho commented 2 years ago

@fxy060608 我相信这是一个临时的解决办法,后期会考虑升级支持更高版本的 sass-loader 吗?

fxy060608 commented 2 years ago

@fxy060608 我相信这是一个临时的解决办法,后期会考虑升级支持更高版本的 sass-loader 吗?

因为需要定制支持条件编译,所以会直接使用内置的sass-loader,你package.json中安装的,后续会忽略掉

rubickecho commented 2 years ago

好的,谢谢 @fxy060608

ningkexin commented 2 years ago

什么时候修复一下 现在项目无法运行 怎么老是出这种问题??

fxy060608 commented 2 years ago

什么时候修复一下 现在项目无法运行 怎么老是出这种问题??

发版是需要时间的,你现在可以把package.json中的sass-loader移除掉,重新install

ningkexin commented 2 years ago

@fxy060608 好吧

misakichan commented 2 years ago

@fxy060608 请问是移除vue-cli-plugin-uni中的package.json,还是自己项目中的package.json。自己项目中移除sass-loader的话会报错

zhetengbiji commented 2 years ago

@fxy060608 请问是移除vue-cli-plugin-uni中的package.json,还是自己项目中的package.json。自己项目中移除sass-loader的话会报错

你项目中的

zhetengbiji commented 2 years ago

试试更新依赖到最新alpha版:npx @dcloudio/uvm alpha

showtan001 commented 1 year ago

@fxy060608 我相信这是一个临时的解决办法,后期会考虑升级支持更高版本的 sass-loader 吗?

因为需要定制支持条件编译,所以会直接使用内置的sass-loader,你package.json中安装的,后续会忽略掉

去掉后,按照你的方法并不行

showtan001 commented 1 year ago

@fxy060608 请问是移除vue-cli-plugin-uni中的package.json,还是自己项目中的package.json。自己项目中移除sass-loader的话会报错

你项目中的

移除了一样的报错,这么久了还没有修复吗?

新的报错 image