Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.0.1-32920211122002之后的版本无法使用<style lang="scss"> #3129

Closed
smoothdvd opened this issue Dec 29, 2021 · 7 comments
Closed

2.0.1-32920211122002之后的版本无法使用<style lang="scss"> #3129

smoothdvd opened this issue Dec 29, 2021 · 7 comments

Comments

@smoothdvd
Copy link

smoothdvd commented Dec 29, 2021

问题描述
2.0.1-32920211122002之后的版本无法使用<style lang="scss">

复现步骤
[复现问题的步骤]

  1. 升级到uni-app最新版(版本号>2.0.1-32920211122002)
  2. 任意vue文件中添加<style lang="scss"></style>
  3. yarn build:mp-weixin

[或者可以直接贴源代码]

正确编译

实际结果

 ERROR  Failed to compile with 1 error                                                                     4:00:48 PM

 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? }


 @ ./src/App.vue?vue&type=style&index=0&lang=scss& 1:0-821 1:837-840 1:842-1660 1:842-1660
 @ ./src/App.vue
 @ ./src/main.ts

package.json

{
  "name": "uni-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "npm run dev:h5",
    "build": "npm run build:h5",
    "build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
    "build:custom": "cross-env NODE_ENV=production uniapp-cli custom",
    "build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
    "build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build",
    "build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build",
    "build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build",
    "build:mp-kuaishou": "cross-env NODE_ENV=production UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build",
    "build:mp-lark": "cross-env NODE_ENV=production UNI_PLATFORM=mp-lark vue-cli-service uni-build",
    "build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build",
    "build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build",
    "build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build",
    "build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build",
    "build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build",
    "build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build",
    "build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build",
    "dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
    "dev:custom": "cross-env NODE_ENV=development uniapp-cli custom",
    "dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve",
    "dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch",
    "dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch",
    "dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch",
    "dev:mp-kuaishou": "cross-env NODE_ENV=development UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build --watch",
    "dev:mp-lark": "cross-env NODE_ENV=development UNI_PLATFORM=mp-lark vue-cli-service uni-build --watch",
    "dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch",
    "dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch",
    "dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch",
    "dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch",
    "dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch",
    "dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch",
    "dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch",
    "info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js",
    "serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js",
    "test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
    "test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
    "test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i",
    "test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i",
    "test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i"
  },
  "dependencies": {
    "@dcloudio/uni-app-plus": "^2.0.1-33420211228004",
    "@dcloudio/uni-h5": "^2.0.1-33420211228004",
    "@dcloudio/uni-helper-json": "*",
    "@dcloudio/uni-i18n": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-360": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-alipay": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-baidu": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-kuaishou": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-lark": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-qq": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-toutiao": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-vue": "^2.0.1-33420211228004",
    "@dcloudio/uni-mp-weixin": "^2.0.1-33420211228004",
    "@dcloudio/uni-quickapp-native": "^2.0.1-33420211228004",
    "@dcloudio/uni-quickapp-webview": "^2.0.1-33420211228004",
    "@dcloudio/uni-stat": "^2.0.1-33420211228004",
    "@vue/shared": "^3.0.0",
    "core-js": "^3.6.5",
    "flyio": "^0.6.2",
    "regenerator-runtime": "^0.12.1",
    "vue": "^2.6.11",
    "vue-class-component": "^6.3.2",
    "vue-property-decorator": "^8.0.0",
    "vuex": "^3.2.0"
  },
  "devDependencies": {
    "@babel/plugin-syntax-typescript": "^7.2.0",
    "@babel/runtime": "~7.12.0",
    "@dcloudio/types": "*",
    "@dcloudio/uni-automator": "^2.0.1-33420211228004",
    "@dcloudio/uni-cli-i18n": "^2.0.1-33420211228004",
    "@dcloudio/uni-cli-shared": "^2.0.1-33420211228004",
    "@dcloudio/uni-migration": "^2.0.1-33420211228004",
    "@dcloudio/uni-template-compiler": "^2.0.1-33420211228004",
    "@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.1-33420211228004",
    "@dcloudio/vue-cli-plugin-uni": "^2.0.1-33420211228004",
    "@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.1-33420211228004",
    "@dcloudio/webpack-uni-mp-loader": "^2.0.1-33420211228004",
    "@dcloudio/webpack-uni-pages-loader": "^2.0.1-33420211228004",
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-typescript": "*",
    "@vue/cli-service": "~4.5.0",
    "babel-plugin-import": "^1.11.0",
    "cross-env": "^7.0.2",
    "jest": "^25.4.0",
    "mini-types": "*",
    "miniprogram-api-typings": "*",
    "postcss-comment": "^2.0.0",
    "sass": "^1.35.1",
    "sass-loader": "^10.1.0",
    "typescript": "^3.0.0",
    "vue-template-compiler": "^2.6.11"
  },
  "browserslist": [
    "Android >= 4.4",
    "ios >= 9"
  ],
  "uni-app": {
    "scripts": {}
  }
}
yarn run v1.22.17
$ node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js
uni-app v3.3.4
uni-app cli v2.0.1-33420211228004

Environment Info:

  System:
    OS: Linux 5.13 Ubuntu 21.10 21.10 (Impish Indri)
    CPU: (4) x64 Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
  Binaries:
    Node: 12.22.5 - /tmp/yarn--1640766858027-0.23111058684801145/node
    Yarn: 1.22.17 - /tmp/yarn--1640766858027-0.23111058684801145/yarn
    npm: 8.3.0 - ~/.yarn/bin/npm
  Browsers:
    Chrome: 96.0.4664.110
    Firefox: 95.0.2
  npmPackages:
    @dcloudio/types: * => 2.5.15 
    @dcloudio/uni-app-plus: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-app-plus-nvue:  0.0.1 
    @dcloudio/uni-app-plus-nvue-v8:  0.0.1 
    @dcloudio/uni-automator: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-cli-i18n: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-cli-shared: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-h5: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-helper-json: * => 1.0.13 
    @dcloudio/uni-i18n: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-migration: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-360: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-alipay: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-baidu: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-kuaishou: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-lark: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-qq: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-toutiao: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-vue: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-mp-weixin: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-quickapp-native: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-quickapp-webview: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-stat: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/uni-template-compiler: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/vue-cli-plugin-hbuilderx: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/vue-cli-plugin-uni: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/vue-cli-plugin-uni-optimize: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/webpack-uni-mp-loader: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @dcloudio/webpack-uni-nvue-loader:  0.0.1 
    @dcloudio/webpack-uni-pages-loader: ^2.0.1-33420211228004 => 2.0.1-33420211228004 
    @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.0 => 4.5.15 
    @vue/cli-plugin-router:  4.5.15 
    @vue/cli-plugin-typescript: * => 4.5.15 
    @vue/cli-plugin-vuex:  4.5.15 
    @vue/cli-service: ~4.5.0 => 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-class-component: ^6.3.2 => 6.3.2 (7.2.6)
    vue-hot-reload-api:  2.3.4 
    vue-loader:  15.9.8 (16.8.3, 15.9.8)
    vue-property-decorator: ^8.0.0 => 8.5.1 
    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

Done in 10.63s.
@ihwf
Copy link

ihwf commented Dec 29, 2021

同样的问题

@smoothdvd
Copy link
Author

看了一下uni-app源码,是因为直接把sass-loader@8.0.2的源码直接放在uni-app/packages/vue-cli-plugin-uni/packages/里了。

那这样的话,uni-app/packages/vue-cli-plugin-uni/lib/options.js里这段代码还有什么意义?

if (sassLoaderVersion < 8) {
options.css.loaderOptions.sass.data = sassData
} else {
const name = sassLoaderVersion >= 9 ? 'additionalData' : 'prependData'
options.css.loaderOptions.sass[name] = sassData
}

@ihwf
Copy link

ihwf commented Dec 29, 2021

暂时将sass-loader降回8.0.2解决

@lauhuawei
Copy link

暂时将sass-loader降回8.0.2解决

我降了还是不行

@smoothdvd
Copy link
Author

@lauhuawei 删掉自己装的试试,这个相当于内置了8.0.2的sass-loader。

@AnaniZhu
Copy link

AnaniZhu commented Jan 7, 2022

同样的问题,官方有解决方案么?

@guyskk
Copy link

guyskk commented Jan 7, 2022

@lauhuawei 删掉自己装的试试,这个相当于内置了8.0.2的sass-loader。

👍 删掉 package.json 里的 sass-loader,只保留 sass,npm install 之后运行正常了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants