VueJS를 VuetifyJS (v2.0.19) 프레임 워크와 함께 사용하고 있습니다. npm run serve를 실행 한 후이 오류가 발생 합니다 .
Sass Loader는 API 스키마와 일치하지 않는 옵션 객체를 사용하여 초기화되었습니다.
내가 시도한 것 : node_modules 폴더를 삭제하고 모든 npm 패키지와 node.js를 최신 안정 버전으로 재설치 / 업데이트했습니다.
전체 오류 메시지 :
error in ./node_modules/vuetify/src/components/VRangeSlider/VRangeSlider.sass
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
ValidationError: Invalid options object. Sass Loader has been initialised using an options object that does not match the API schema.
- options has an unknown property 'indentedSyntax'. These properties are valid:
object { implementation?, sassOptions?, prependData?, sourceMap?, webpackImporter? }
at validate (/home/do/Desktop/A/Projects/Ral/AppCLI3/node_modules/sass-loader/node_modules/schema-utils/dist/validate.js:50:11)
at Object.loader (/home/do/Desktop/A/Projects/Ral/AppCLI3/node_modules/sass-loader/dist/index.js:36:28)
@ ./node_modules/vuetify/src/components/VRangeSlider/VRangeSlider.sass 4:14-208 14:3-18:5 15:22-216
@ ./node_modules/vuetify/lib/components/VRangeSlider/VRangeSlider.js
@ ./node_modules/vuetify/lib/components/VRangeSlider/index.js
@ ./node_modules/vuetify/lib/components/index.js
@ ./node_modules/vuetify/lib/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://192.168.2.115:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js
error in ./node_modules/vuetify/src/styles/main.sass
내 package.json :
{
"name": "app",
"version": "0.1.0",
"private": false,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"core-js": "^3.2.1",
"fibers": "^4.0.1",
"firebase": "^7.0.0",
"material-icons": "^0.3.1",
"register-service-worker": "^1.6.2",
"vue": "^2.6.10",
"vue-flickity": "^1.2.1",
"vue-router": "^3.1.3",
"vuetify": "^2.0.19",
"vuex": "^3.1.1"
},
"devDependencies": {
"@mdi/font": "^4.4.95",
"@vue/cli-plugin-babel": "^3.11.0",
"@vue/cli-plugin-eslint": "^3.11.0",
"@vue/cli-plugin-pwa": "^3.11.0",
"@vue/cli-service": "^3.11.0",
"@vue/eslint-config-prettier": "^5.0.0",
"babel-eslint": "^10.0.3",
"eslint": "^6.5.1",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-vue": "^5.2.3",
"material-design-icons-iconfont": "^5.0.1",
"node-sass": "^4.12.0",
"prettier": "1.18.2",
"sass-loader": "^8.0.0",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"uglifyjs-webpack-plugin": "^2.2.0",
"vue-cli-plugin-vuetify": "^0.6.3",
"vue-loader": "^15.7.1",
"vue-template-compiler": "^2.6.10",
"vuetify-loader": "^1.3.0",
"webpack": "^4.41.0",
"webpack-cli": "^3.3.9"
},
"eslintConfig": {
"root": true,
"env": {
"node": true
},
"extends": [
"plugin:vue/essential",
"@vue/prettier"
],
"rules": {
"no-console": "off"
},
"parserOptions": {
"parser": "babel-eslint"
}
},
"postcss": {
"plugins": {
"autoprefixer": {}
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
이 문제를 해결하는 방법?
답변
https://github.com/JeffreyWay/laravel-mix/issues/2206 과 같은 문제가있는 것 같습니다.
해결책은
npm uninstall --save-dev sass-loader
npm install --save-dev sass-loader@7.1.0
답변
당신이 사용하는 경우 vue-cli 4
이 오류를 방지하기 위해 당신의 설정을 변경해야합니다 sass-loader
에 vue.config.js
오류가 해결 될 것입니다 그 후, 아래의 예와 같이.
const path = require('path');
module.exports = {
chainWebpack(config) {
config
.entry('app')
.clear()
.add('./src/core/main.js')
.end();
config.resolve.alias
.set('~', path.join(__dirname, './src'))
.set('@', path.join(__dirname, './src/core'))
.set('#', path.join(__dirname, './src/modules'))
},
css: {
loaderOptions: {
sass: {
sassOptions: {
includePaths: [
path.resolve(__dirname, 'src/core/')
],
indentedSyntax: true,
},
prependData: '@import "~@/assets/sass/main.scss"',
},
},
},
assetsDir: '@/assets/',
}
자신의 구성을 지정하는 것을 잊지 마십시오. sass-loader repo 에서 구성을 확인하십시오 .
를 사용 하면 사용 하고 이전 구성이 여전히 작동 하면 vue cli 3
작동 sass-loader v7
하지 않습니다 .v8
vue cli 3
sass-loader v7
행운과 안부.
답변
indentedSyntax
의 일부입니다 sassOptions
:
sassOptions: { indentedSyntax: true }
예를 들면 다음과 같습니다.
{
loader: 'sass-loader',
options: {
sassOptions: {
indentedSyntax: true
}
}
}
따라서 Webpack 구성을 변경하여 변경하십시오.
답변
내 경우에는 내가 내가 실행할 때 실제 오류가 터미널에 emmitted 도착 후 downgrage 말대꾸 로더로했다 ng serve
될 whould, vue-cli-service
내가 더 파고 것, 그것은 말대꾸 로더의 V8에 문제가 있다고 생각 귀하의 경우
그 동안, 이것은 도움이 될 수 있습니다. package.json에서 sass-loader를 편집하여 읽으십시오. "sass-loader": "7.0.1",