tslint বলছে কনসোল.লগে কল করার অনুমতি নেই - আমি কীভাবে এটি অনুমতি দেব?


105

আমি স্রেফ টাইপ স্ক্রিপ্ট সহ তৈরি-প্রতিক্রিয়া-অ্যাপ ব্যবহার শুরু করেছি

create-react-app my-app --scripts-version=react-scripts-ts

এবং ডিফল্ট tslint.json কনফিগারেশন কনসোল.লগ () এর অনুমতি দেয় না।

আমি কীভাবে (এখনের জন্য) কনসোল.লগ সক্ষম করতে পারি?

এর জন্য দস্তাবেজগুলি https://palantir.github.io/tslint/rules/no-console/ এ রয়েছে । তবে তারা এই লাইনটি কোথায় রাখবেন তা বলছেন না:

    "no-console": [true, "log", "error"]

আমি এই tslint.json কনফিগারেশন ফাইল সিনট্যাক্সটি অনুসন্ধান করেছি এবং পেয়েছি তাই আমি এটি চেষ্টা করেছি:

"rules": {
    "no-console": [true, "warning"]
}

লগ বার্তা প্রাপ্তির প্রয়াস যা কেবল সতর্কতা হবে। কিন্তু কাজ হয়নি।

আমার কাছে কয়েকটি কনসোল.লগ () লাইন আমি মন্তব্য করেছি তবে ভবিষ্যতে এটি করতে সক্ষম হতে চাই।

উত্তর:


207

শুধুমাত্র একবারে ত্রুটি বার্তাটি রোধ // tslint:disable-next-line:no-consoleকরতে আপনার কল করার আগে লাইনে যুক্ত করুন console.log

আপনি যদি নিয়মটি পুরোপুরি অক্ষম করতে চান তবে নিম্নলিখিতগুলিতে আপনার tslint.json(সম্ভবত আপনার মূল ফোল্ডারে সম্ভবত) যুক্ত করুন:

{
    "rules": {
        "no-console": false
    }
}

6
আমি নিশ্চিত যে কী ঘটেছে তবে এখন "নো-কনসোল": মিথ্যা আমার পক্ষে কাজ করছে না। আমি প্রায় কাজ খুঁজে পেয়েছি // tslint:disable:no-consoleফাইলের শীর্ষে রাখা হয়।
প্যাটস

10
"নো-কনসোল": মিথ্যা আমার পক্ষে কাজ করে, তবে এটি কার্যকর হওয়ার জন্য আমাকে "এনপিএম স্টার্ট" পুনরায় চালু করতে হবে।
jlb

4
"no-console": falseএমনকি আমার সাথে কাজ করে না npm run start
এরিক ফুলমার

18
@ এরিকফুলমার এটিকে "জেএসআরুলস" নোডে রেখেছেন। "জেএসআরুলস": {"নো-কনসোল": মিথ্যা},
বিল

আমি নিয়মটি যুক্ত করেছি jsRulesএবং yarn startত্রুটিগুলি চলে যাওয়ার আগে একটি নতুন কাজ করেছি । নিশ্চিত না যে এগুলির মধ্যে কে এটি করেছে।
বায়রন ওয়াল

28

আপনারা যারা এখানে জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টের মিশ্র কোডবেস নিয়ে আসছেন তাদের জন্য।

আপনার জেএসআরগুলিতে 'নো-কনসোল' বিকল্পটি সংজ্ঞায়িত করার দরকার হতে পারে, জাভাস্ক্রিপ্ট ফাইলগুলির জন্য jslints বিধি অবজেক্ট, অর্থাত্ জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টের জন্য পৃথক নিয়ম অবজেক্ট রয়েছে।

//tslint.json

{
  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"], //Example... 
  "rules": {
    "no-console": false //Disable for typescript
  },
  "jsRules": {
    "no-console": false //Disable for javascript
  }
}

তবে - এই জিনিসটির উদ্দেশ্য কী?
রবার্তো টমস

জেএসআরুলস, না নো-কনসোল?
লি ব্রিন্ডলে

নো-কনসোল - মনে হচ্ছে (আমি এটি সন্ধান করেছি) এটি কেবল আপনাকে সতর্ক করার জন্য যে কনসোল বার্তাগুলি উত্পাদন কোডের সাথে সম্পর্কিত নয়। সেই ধরণের এটিকে প্রশ্নবিদ্ধ নিয়মে পরিণত করেছে যে কোনও সময় আপনার en
র্ষা উত্সাহিত

আমি আপনার পয়েন্টটি দেখতে পাচ্ছি একটি বিষয় বিবেচনা করতে হবে যে কনসোলটি জাভাস্ক্রিপ্ট ভাষার অংশ নয়, এটি সাধারণত জাভাস্ক্রিপ্ট ইঞ্জিনগুলিতে প্রয়োগ করা হয়, যদিও এটি মূল বিষয় - এটি জাভাস্ক্রিপ্ট ভাষার অংশ নয়, আপনি আপনার কোডের উপর নির্ভরতা বেক করছেন যা হয়ত থাকতে পারে বা নাও থাকতে পারে । এই বলে যে, আমি এই নিয়মের জন্য একটি ব্যবহার দেখতে পাচ্ছি।
লি ব্রিন্ডলি

4
@ রবার্টটোমস, এই কোডটি আপনার কোডটিতে কনসোল.লগ বার্তা না রাখার সর্বোত্তম অনুশীলনের উপর ভিত্তি করে। প্রোডাকশন কোডে এটি থাকা উচিত নয়, সুতরাং এটি আপনাকে আপনার প্রোড প্রস্তুত নয় তা জানতে দেয়। আপনার কাছে দুটি স্লিন্ট কনফিগারেশন থাকতে পারে যা এটির অনুমতি দেয় এবং অন্যটি এটি দেয় না। আমার কাছে একটি logger.infoফাংশন রয়েছে যা কল করে console.log(তাই একটি মোড়ক) যা আমাকে পুরো অ্যাপ্লিকেশনটির জন্য সহজেই লগিং সক্ষম বা অক্ষম করতে দেয়। আমি বলছি না এটি সর্বোত্তম অনুশীলন, আমি কিছু করেছিলাম। এটি github.com/krakenjs/beaver-logger এর মতো অন্য লগারের সাথে সংহতকরণকে আরও সহজ করে তোলে ।
প্যাটস


6

এটি নো-কনসোল বিধি সংজ্ঞা দেওয়ার জন্য সঠিক বাক্য গঠন (বা সেই বিষয়ে অন্য কোনও নিয়ম) তবে কেবল একটি ত্রুটি না করে একটি সতর্কতা সহ (স্পষ্টতই আপনি যা চান বিকল্পগুলি পরিবর্তন করুন)

"no-console": {
    "severity": "warning",
    "options": [
        "log",
        "error",
        "debug",
        "info",
        "time",
        "timeEnd",
        "trace"
    ]
},

এটি সতর্কতা হিসাবে পুরোপুরি কাজ করে। বিটিডাব্লু, এটি স্লিন্ট ডকুমেন্টেশনে নথিভুক্ত নয়।
নেলসন 6e65

1

নীচের মত মূল নিয়মে টাইপস্ক্রিপ্ট সংস্করণ 3 আপডেট tslint.json এ:

"no-console": [
    true,
    "debug",
    "time",
    "timeEnd",
    "trace"
],

আপনি যদি ডিফল্ট tslint "তথ্য" তালিকায় থাকেন তবে কেবল এটি মুছে ফেলুন, আপনি কেবল ডিবাগ, সময়, সময়সীমা এবং ব্যবহার না করার জন্য ট্রেস নির্দিষ্ট করেছেন।



1

আমি যেভাবে স্লিন্ট "নো-কনসোল" রুল পরিচালনা করি তা প্রতি ফাইল হিসাবে পাওয়া যায় যা বিকাশের পর্যায়ে সুবিধাজনক এবং বিচ্ছিন্ন।

যত তাড়াতাড়ি আমার প্রথম কনসোল.লগ () ব্যবহার করা দরকার; ভিজ্যুয়াল স্টুডিও কোড যুক্ত করার বিকল্পটি দেখায়:

// tslint: অক্ষম-পরবর্তী-লাইন: নন-কনসোল

কনসোল.লগ ();

সুতরাং এখানে আমি কেবল "-নেক্সট-লাইন" মুছে ফেলব এবং এই কমান্ডটি পুরো ফাইলটি কভার করবে।

// tslint: অক্ষম: নন-কনসোল

কনসোল.লগ ();

আমি আশা করি এটি পুরো অ্যাপ্লিকেশনটির জন্য বৈশিষ্ট্যটি অক্ষম করার বিকল্প হিসাবে সহায়তা করে।

রন


0

দস্তাবেজ অনুসারে: https://eslint.org/docs/user-guide/getting-st সূক্ষ্ম# কনফিগারেশন

  • "অফ" বা 0 - বিধিটি বন্ধ করুন
  • "সতর্কতা" বা 1 - একটি সতর্কতা হিসাবে নিয়মটি চালু করুন (প্রস্থান কোডকে প্রভাবিত করে না)
  • "ত্রুটি" বা 2 - একটি ত্রুটি হিসাবে নিয়ম চালু করুন (প্রস্থান কোড হবে 1)

যাইহোক, আপনার সঠিক সেটআপ হবে

{
  "rules": {
    "no-console": false
  }
}


0
  {
    "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
    "linterOptions": {
        "exclude": [
            "config/**/*.js",
            "node_modules/**/*.ts",
            "coverage/lcov-report/*.js"
        ]
    },
    "rules": {
        "no-console": false
    },
    "jsRules": {
        "no-console": false
    }
 }

এখানে চিত্র বর্ণনা লিখুন

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