এসলিন্ট: নোড.জেএস-এ কীভাবে "অপ্রত্যাশিত কনসোল বিবৃতি" অক্ষম করবেন?


268

আমি সাব্লাইম টেক্সট 3 সহ এসিলিন্ট ব্যবহার করছি এবং আমি লিখছি gulpfile.js

/*eslint-env node*/
var gulp = require('gulp');

gulp.task('default', function(){
    console.log('default task');
});

তবে এসলিন্ট ত্রুটি দেখাতে থাকে: "ত্রুটি: অপ্রত্যাশিত কনসোল বিবৃতি। (কোনও কনসোল)" এসলিন্ট ত্রুটি

আমি এখানে অফিসিয়াল ডকুমেন্ট পেয়েছি , তবে এখনও এটি অক্ষম করতে জানি না।

/*eslint-env node*/
var gulp = require('gulp');

/*eslint no-console: 2*/
gulp.task('default', function(){
    console.log('default task');
});

হয় না, কাজ করে না।

আমার সাব্লাইম টেক্সট 3 প্লাগইনস: সাব্লাইমলিন্টার এবং সাব্লাইমলিন্টার-অবদান-এস্লিন্ট।

আমার .eslintrc.jsফাইলটি এখানে :

module.exports = {
    "rules": {
        "no-console":0,
        "indent": [
            2,
            "tab"
        ],
        "quotes": [
            2,
            "single"
        ],
        "linebreak-style": [
            2,
            "unix"
        ],
        "semi": [
            2,
            "always"
        ]
    },
    "env": {
        "browser": true,
        "node": true
    },
    "extends": "eslint:recommended"
};

উত্তর:


451

আপনার ফাইলের ডিরেক্টরিতে একটি .eslintrc.js তৈরি করুন এবং এতে নীচের বিষয়বস্তু রাখুন:

module.exports = {
    rules: {
        'no-console': 'off',
    },
};

2
ঠিক আছে, এসিলিন্ট প্লাগইন ( github.com/roadhump/… ) এর অফিসিয়াল গিথব পৃষ্ঠা অনুসারে , আপনার প্রকল্প ফোল্ডারে একটি .eslintrc ফাইল স্থাপন করা কৌশলটি করা উচিত ... এটির ডিবাগিং চালিয়ে যাওয়ার জন্য, আমি চালানোর চেষ্টা করার পরামর্শ দেব কমান্ড লাইন থেকে eslint। কেবলমাত্র Node.js ইনস্টল যদি আপনি এটি ইনস্টল করুন, তারপর চালানো হবে না npm install eslintএকটি কনসোল থেকে / কমান্ড প্রম্পটে, তারপর কনসোলে আপনার প্রকল্পের ফোল্ডারের নেভিগেট / প্রম্পট আদেশ, এবং রানeslint .
markasoftware

10
ফাইলটি .eslintrc.json বলা হলে এটি (আমার জন্য) কাজ করে
অ্যালেক্সওয়েন

13
বিকল্পভাবে, আপনি "rules": {"no-console": "off"}কম ক্রিপ্টিক হতে লিখতে পারেন । "warn"এবং "error"অন্যান্য 2 বিকল্প হচ্ছে।
TheDarkIn1978

1
ESLint কনফিগারেশন ফাইল ব্যবহার করা হয় কেবল .eslintrcকিন্তু এখন অবচিত এবং ব্যবহৃত বিন্যাস অনুযায়ী নামে করা উচিত, যেমন .eslintrc.js, .eslintrc.yamlইত্যাদি
কলিন ডি বেনেট

4
ভিল-ক্লিমে 3 তে কাজ করে না : উত্তরটি দেখুন stackoverflow.com/a/53333105/150370
জার্মান লেটারের

141

এটি স্থায়ীভাবে ঠিক করতে আপনার এসলিন্ট কনফিগারেশন ফাইল আপডেট করা উচিত। অন্যথায় আপনি নীচের মতো কনসোলের জন্য এসলিন্ট চেক সাময়িকভাবে সক্ষম বা অক্ষম করতে পারেন

/* eslint-disable no-console */
console.log(someThing);
/* eslint-enable no-console */

2
কিভাবে আমার কনফিগার করবেন .eslintrc, আমাকে বলুন?
জিন ওয়াইসি ইয়াং

7
উভয় লাইন যোগ করার প্রয়োজন হয় না। সঙ্গে শুধুমাত্র আপনার পূর্ববর্তী করা console.logনিম্নলিখিত ব্যতিক্রম যথেষ্ট: eslint-disable-next-line no-console
জোনাথন ব্রিজিও

132

জন্য Vue-CLI 3 খোলা package.jsonএবং অধীনে অধ্যায় eslintConfigকরা no-consoleঅধীনে rulesএবং পুনর্সূচনা দেব সার্ভার ( npm run serveবা yarn serve)

...
"eslintConfig": {
    ...
    "rules": {
      "no-console": "off"
    },
    ...

2
ধন্যবাদ, আপনি এখানে কিউ-ক্লাইজ প্রকল্পের জন্য এসে থাকলে @markasoftware সমাধান কার্যকর হয় না।
Muenalan

প্যাকেজ.জসন এটি করার একমাত্র উপায় নয়। পৃথক কনফিগারেশন ফাইলগুলিও একটি স্ট্যান্ডার।
মাইকেল কোল

1
ধন্যবাদ! আপনি আমার দিন বাঁচিয়েছেন।
অঙ্ক

ধন্যবাদ! ডক্সে বিধি: কনফিগারেশন eslint.org/docs/user-guide/configuring#configuring-rules , বিধি: eslint.org/docs/rules
ডেনিস

1
মূল ফোল্ডারটির মধ্যে একটি @ ম্যাক্সরকেট
জিওরগোস্ক

35

নোড এনভায়রনমেন্টের উপর ভিত্তি করে কনসোল.লগ এবং ডিবাগার স্টেটমেন্টের শর্তটি শর্তযুক্ত করার জন্য একটি দুর্দান্ত বিকল্প হ'ল।

  rules: {
    // allow console and debugger in development
    'no-console': process.env.NODE_ENV === 'production' ? 2 : 0,
    'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
  },


19

নীচেরগুলি VSCode এ ESLint এর সাথে কাজ করে যদি আপনি কেবল একটি লাইনের জন্য নিয়মটি অক্ষম করতে চান।

পরবর্তী লাইনটি অক্ষম করতে:

// eslint-disable-next-line no-console
console.log('hello world');

বর্তমান লাইনটি অক্ষম করতে:

console.log('hello world'); // eslint-disable-line no-console

15

আপনি যদি স্থানীয় প্রকল্পের আওতায় এসলিন্ট ইনস্টল করেন তবে আপনার ডিরেক্টরি / নোড_মডিউলগুলি / এসলিন্ট / কনফ / এবং সেই ডিরেক্টরিতে একটি ফাইল এসলিন্ট.জসন থাকা উচিত। আপনি ফাইলটি সম্পাদনা করতে এবং "অফ" মান সহ "নো-কনসোল" এন্ট্রিটি সংশোধন করতে পারেন (যদিও 0 মানটিও সমর্থিত):

"rules": {
    "no-alert": "off",
    "no-array-constructor": "off",
    "no-bitwise": "off",
    "no-caller": "off",
    "no-case-declarations": "error",
    "no-catch-shadow": "off",
    "no-class-assign": "error",
    "no-cond-assign": "error",
    "no-confusing-arrow": "off",
    "no-console": "off",
    ....

আমি আশা করি এই "কনফিগারেশন" আপনাকে সহায়তা করতে পারে।


আরও ভাল, কেবল আপনার সমস্ত ফাইলে এই সহজ স্ক্রিপ্টটি চালান:find . -name '*.js' -exec gawk -i inplace 'NR==1{print "/* eslint-disable */"} {print}' {} \;
ব্যবহারকারীর 234461


10

আমি এমবার.জেএস ব্যবহার করছি যা একটি ফাইল তৈরি করে .eslintrc.js"no-console": 0নিয়মের সাথে যুক্ত হওয়া আমার পক্ষে কাজটি করেছে। আপডেট হওয়া ফাইলটি এর মতো দেখাচ্ছে:

module.exports = {
  root: true,
  parserOptions: {
    ecmaVersion: 6,
    sourceType: 'module'
  },
  extends: 'eslint:recommended',
  env: {
    browser: true
  },
  rules: {
    "no-console": 0
  }
};

10

আপনি যদি একবারে নিয়মটি অক্ষম করতে চান তবে আপনি ব্যতিক্রমের উত্তরটি দেখতে চান

আপনি কেবলমাত্র এক লাইনের জন্য নিয়ম অক্ষম করে এটি উন্নতি করতে পারেন:

... বর্তমান লাইনে:

console.log(someThing); /* eslint-disable-line no-console */

... বা পরবর্তী লাইনে:

/* eslint-disable-next-line no-console */
console.log(someThing);

9

আমার vueপ্রকল্পে আমি এই সমস্যাটি এইভাবে স্থির করেছি:

vim package.json
...
"rules": {
    "no-console": "off"
},
...

ps : package.json is a configfile in the vue project dir, finally the content shown like this:

{
  "name": "metadata-front",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "vue": "^2.5.17",
    "vue-router": "^3.0.2"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.0.4",
    "@vue/cli-plugin-eslint": "^3.0.4",
    "@vue/cli-service": "^3.0.4",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0-0",
    "vue-template-compiler": "^2.5.17"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {
        "no-console": "off"
    },
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

এই সহায়ক যদি এক একটি Vue প্রকল্পের নালা উত্পন্ন vue-cliবা vue uiএবং এটি রয়েছে এমন একটি vue.config.jsএবং package.json। সম্পাদনা করুন package.json
সুইসেন্ড

6

ডকুমেন্টেশন অনুযায়ী আপনার প্যাকেজ.জসন কনফিগার করার পরেও যদি আপনার এখনও সমস্যা হয় তবে (যদি আপনি পৃথক কনফিগারেশন ফাইলের চেয়ে প্যাকেজ.জসন ব্যবহার করতে পছন্দ করেন):

"rules": {
      "no-console": "off"
    },

এবং এটি এখনও আপনার জন্য কাজ করছে না, ভুলে যাবেন না আপনাকে কমান্ড লাইনে ফিরে যেতে হবে এবং আবার এনপিএম ইনস্টল করতে হবে । :)


5

ইন package.json আপনি একটি পাবেন eslintConfigলাইন। আপনার 'বিধি' লাইনটি এখানে এভাবে যেতে পারে:

  "eslintConfig": {
   ...
    "extends": [
      "eslint:recommended"
    ],
    "rules": {
      "no-console": "off"
    },
   ...
  },


4

প্রকল্পের অবস্থানের .eslintrc.js ফাইলটিতে এটি আমার জন্য কাজ করেছে

module.exports = {
    rules: {
        'no-console': 0
    }
};

3

2018 অক্টোবর,

শুধু কর:

// tslint:disable-next-line:no-console

anothers সঙ্গে উত্তর

// eslint-disable-next-line no-console

কাজ করে না !


0

বিকল্প হিসাবে 'না-কনসোল' বন্ধ করার পরিবর্তে, আপনি অনুমতি দিতে পারেন। ইন .eslintrc.js ফাইল করা

  rules: {
    'no-console': [
      'warn',
      { allow: ['clear', 'info', 'error', 'dir', 'trace', 'log'] }
    ]
  }

এটি আপনাকে ত্রুটি নিক্ষেপ না করে console.logএবং এগুলি করতে দেয় console.clear


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