Sass লোডার ত্রুটি: অবৈধ বিকল্পগুলি অবজেক্ট যা API স্কিমার সাথে মেলে না


17

আমি VuetifyJS (v2.0.19) ফ্রেমওয়ার্কটি দিয়ে VueJS ব্যবহার করছি । এনপিএম রান পরিবেশন চালানোর পরে আমি এই ত্রুটিটি পাচ্ছি :

এসএসআই স্কিমার সাথে মেলে না এমন অপশন অবজেক্ট ব্যবহার করে সাস লোডার শুরু করা হয়েছে।

আমি যা চেষ্টা করেছি: আমি নোড_মডিউলগুলি ফোল্ডারটি মুছে ফেলেছি এবং সমস্ত এনপিএম প্যাকেজ এবং নোড.জেগুলি সর্বশেষ স্থিতিশীল সংস্করণে পুনরায় ইনস্টল / আপডেট করেছি ।

সম্পূর্ণ ত্রুটি বার্তা:

 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

আমার প্যাকেজ.জসন:

  {
  "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"
  ]
}

এই সমস্যাটি কীভাবে সমাধান করবেন?

উত্তর:


22

এখানে এখানে একই সমস্যা মনে হচ্ছে: https://github.com/JeffreyWay/laravel-mix/issues/2206

সমাধান হয়

npm uninstall --save-dev sass-loader
npm install --save-dev sass-loader@7.1.0

1
ডাউনগ্রেডিং কখনও আমার কাছে সবচেয়ে মার্জিত পদ্ধতির মতো মনে হয়নি, তবুও এটি আমার পক্ষে কৌশলটিই একমাত্র কাজ। নীচে উত্তর stackoverflow.com/users/5302733/… , যদিও সম্পূর্ণ, আমাকে ত্রুটি একই রেখে দিয়েছে।
কুমিরের 2 ই

এটি আমার জন্যও কাজ করেছিল।
হাসান দাদ খান

6

আপনি যদি ব্যবহার করছেন 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/',
}

আপনার নিজের কনফিগারেশন নির্দিষ্ট করতে ভুলবেন না। সাস-লোডার রেপোতে কনফিগারেশনটি চেকআউট করুন ।

আপনি যদি ব্যবহার করেন তবে vue cli 3এটি কাজ করেsass-loader v7 না v8যদি আপনি ব্যবহার vue cli 3এবং sass-loader v7পূর্ববর্তী কনফিগারেশন এখনও কাজ করে।

শুভকামনা ও শুভেচ্ছা।


আমার সমস্যার সমাধান। ধন্যবাদ।
ফিরমিনো চাঙ্গানি

3

indentedSyntaxএর অংশ sassOptions:

sassOptions: {  indentedSyntax: true  }

উদাহরণ স্বরূপ:

{
    loader: 'sass-loader',
    options: {
        sassOptions: {
            indentedSyntax: true
        }
    }
}

সুতরাং - এটি প্রতিফলিত করতে আপনার ওয়েবপ্যাক কনফিগারেশন পরিবর্তন করুন।


1
আমি এটি চালানোর জন্য ব্যবহার না করার পেতে এবং CLI মধ্যে একটি ত্রুটি গৃহীত পারেন নতুন webpack.LoaderOptionsPlugin ({ কারণ লোড অপশন পুরানো হয়েছে। আমি ব্যবহার করছি vue.config.js কনফিগার webpack করার জন্য (Vue CLI 3)। পারি আপনি কি দয়া করে আরও কিছু বিবরণ পোস্ট করুন
টম

1
আপনি কীভাবে অ্যাপ্লিকেশনটি তৈরি করেছিলেন (টেমপ্লেট সহ ভ্যু আরম্ভ, ভিউ তৈরি), পোস্ট করুন: vue.config.js পোস্ট করুন
ম্যাডফ্লো

1

আমার ক্ষেত্রে আমাকে সাস-লোডার ডাউনগ্রেজ করতে হয়েছিল, তারপরে আমি যখন চালাচ্ছিলাম তখন টার্মিনালটিতে সত্যিকারের ত্রুটিটি অনুভূত হয়েছিল ng serve, যা vue-cli-serviceআপনার ক্ষেত্রে আমি মনে করি এটি স্যাস-লোডারটির v8 এর সমস্যা, আরও খনন করবে

ইতিমধ্যে, এটি সাহায্য করতে পারে: প্যাকেজ.জসনে, সাস-লোডারটি পড়তে সম্পাদনা করুন "sass-loader": "7.0.1",

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.