tslint সতর্কতা বন্ধ করতে কীভাবে উপাদানটির ডিফল্ট উপসর্গ পরিবর্তন করতে হয় কৌণিক 2


142

দেখে মনে হচ্ছে, যখন আমি কৌনিক ক্লিপ ব্যবহার করে একটি কৌণিক 2 অ্যাপ তৈরি করি। আমার ডিফল্ট উপাদান উপসর্গটি অ্যাপকম্পোনেন্টের জন্য অ্যাপ-রুট। এখন, আমি যখন নির্বাচককে অন্য কোনও কিছুতে পরিবর্তন করি তখন "abc-root" বলি

@Component({
  selector: 'abc-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})

vscode আমাকে সতর্ক করে,

[tslint] The selector of the component "AppComponent" should have prefix "app"

উত্তর:


285

ধরুন আপনার দুটি ফাইল tslint.json এবং .angular-cli.json পরিবর্তন করতে হবে, ধরুন আপনি মাইপ্রিফিক্সে পরিবর্তন করতে চান :

Tslint.json ফাইলটিতে কেবল নিম্নলিখিত 2 টি বৈশিষ্ট্য সংশোধন করুন:

"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],

"অ্যাপ" পরিবর্তন করে "মাইপ্রিফিক্স" করুন

"directive-selector": [true, "attribute", "myprefix", "camelCase"],
"component-selector": [true, "element", "myprefix", "kebab-case"],

কৌণিক.জসন ফাইলে কেবল বিশিষ্টের উপসর্গটি পরিবর্তন করুন: (6 টিরও কম কৌণিক সংস্করণের জন্য ফাইলটির নাম .angular-cli.json রয়েছে)

"app": [
  ...
  "prefix": "app",
  ...

"অ্যাপ" পরিবর্তন করে "মাইপ্রিফিক্স" করুন

"app": [
  ...
  "prefix": "myprefix",
  ...

যদি আপনার ক্ষেত্রে @ সলিল জুনিয়র উল্লেখ করে একাধিক উপসর্গের প্রয়োজন হয়:

"component-selector": [true, "element", ["myprefix1", "myprefix2"], "kebab-case"],

যদি কৌণিক ক্লিপ ব্যবহার করে কোনও নতুন প্রকল্প তৈরি করা হয় তবে এই কমান্ড লাইন বিকল্পটি ব্যবহার করুন

ng new project-name --prefix myprefix

2
আমিও থেকে একটি সতর্কবার্তা পেয়েছিলাম ng generate componentআপডেট পরেও tslint.json: You are using different prefix from app, you might get lint errors. Please update "tslint.json" accordingly.আমি আপডেট করতে হয়েছে apps.prefixসম্পত্তি .angular-cli.jsonসতর্কতাটি পরিত্রাণ পেতে।
নচিকেতা

আমি উপরের পদ্ধতিগুলি চেষ্টা করেছি কিন্তু তবুও ত্রুটি পেয়েছি - [tslint] "PrgAxcShiftChartComp घटक" উপাদানটির নির্বাচকটির উপসর্গ "অ্যাপ" থাকা উচিত ( কৌণিক.আই / স্টাইলগাইড # স্টাইল - 02-07 ) (উপাদান-নির্বাচনকারী)। সাহায্য করুন. নির্বাচক হিসাবে এটি ব্যবহার করছেন: 'প্রগ-অ্যাক্সেল-শিফ্ট-চার্ট',
মানজেড

আপনি যদি একটি উপসর্গ প্রয়োগ করতে না চান, তবে এখনও উটকেস প্রয়োগ করতে চান? এটা কি কোন সম্ভাবনা? আমি অ্যারে সিনট্যাক্সটি ব্যবহার করেছিলাম এবং এতে একটি খালি স্ট্রিং যুক্ত করেছি এবং এটি কাজ করে দেখে মনে হচ্ছে, তবে তা নিশ্চিত নয় যে এটি আদর্শ উপায় কিনা।
ক্রাশ করুন

11
দয়া করে নোট করুন যে কৌণিক 6 এ একটি অতিরিক্ত tslint.jsonফাইল সন্ধান করা যেতে পারে <your-project>/src/tslint.jsonযার মধ্যে উপাদান এবং নির্দেশক নির্বাচক বিধি রয়েছে। আপনি যদি উপরের ফিক্সটি প্রয়োগ করেছেন এবং এটি এখনও আপনার জন্য কাজ করে না, তবে নিশ্চিত হয়ে নিন যে এই ফাইলটি আপনার বিশ্বব্যাপী কনফিগারেশনকে ওভাররুলিং করছে না। ( github.com/mgechev/codelyzer/issues/620#issuecomment-394131604 )
সাইমন

19
  1. আপনার angular-cli.json: "উপসর্গ": "ডিফল্টপ্রিফিক্স" সামঞ্জস্য করুন যাতে কৌণিক-ক্লিপ উপাদান তৈরি করার জন্য এটি ব্যবহার করবে।
  2. আজুষ্ট এর tslint.jsonমতো:

    "directive-selector": [
      true,
      "attribute",
      ["prefix1", "prefix2", "prefix3"],
      "camelCase"
    ],
    "component-selector": [
      true,
      "element",
      ["prefix1", "prefix2", "prefix3"],
      "kebab-case"
    ],
    

16

প্রকৃতপক্ষে, কৌণিক ক্লায়ার সাহায্যে, আপনি angular-cli.jsonমূল অ্যাপ্লিকেশনটিতে থাকা "অ্যাপস" অ্যারের ভিতরে কেবল "উপসর্গ" ট্যাগটি পরিবর্তন করতে পারেন ।

"দ্য বেস্টপ্রিফিক্স" এর জন্য পরিবর্তিত হচ্ছে।

"apps": [
  {
    "root": "src",
    "outDir": "dist",
    "assets": [
      "assets",
      "favicon.ico"
    ],
    "index": "index.html",
    "main": "main.ts",
    "test": "test.ts",
    "tsconfig": "tsconfig.json",
    "prefix": "TheBestPrefix",
    "mobile": false,
    "styles": [
      "styles.css"
    ],
    "scripts": [],
    "environments": {
      "source": "environments/environment.ts",
      "dev": "environments/environment.ts",
      "prod": "environments/environment.prod.ts"
    }
  }
]

আপনি যখন সি এল এল আই ব্যবহার করে একটি নতুন উপাদান তৈরি করেন, ng g component mycomponent তখন উপাদানটির ট্যাগের নীচের নাম থাকবে"TheBestPrefix-mycomponent"


তবে এটি স্থির করে দেয় না যেখানে (উদ্দেশ্য অনুসারে) কিছু উপাদান মৌলিক প্রয়োগের উপসর্গের চেয়ে আলাদা উপসর্গের সাথে
ক্লিপের

1
ওয়েবস্টোরমের জন্য, এটি আমার পক্ষে কার্যকর হয়নি। প্রশ্নে উল্লিখিত সতর্কতাটি রোধ করতে tslint.json পরিবর্তন করতে হয়েছিল। কৌণিক-ক্লিপ.জসন পরিবর্তন করা কেবলমাত্র নতুন উপাদান / নির্দেশিকা তৈরি করতে সহায়তা করে।
ক্যামডেন_কিড

16

জন্য angular 6/7অগ্রে একটা হবে tslint.jsonআপনার ভিতরে /srcফোল্ডারের যা ঝুলিতে tslistআপনার উপাদান ও নির্দেশে জন্য নিয়ম।

{
    "extends": "../tslint.json",
    "rules": {
        "directive-selector": [
            true,
            "attribute",
            "directivePrefix",
            "camelCase"
        ],
        "component-selector": [
            true,
            "element",
            "compoenent-prefix",
            "kebab-case"
        ]
    }
}

এই ফাইলটি পরিবর্তন করা সমস্যার সমাধান করবে।


2
বা এটি অপসারণ, যাতে এটি মূল tslint.jsonফাইলটি ওভাররাইড করা বন্ধ করে দেয় ।
জেরেফেথ

কিভাবে এটি পরিবর্তন? আপনি কি পরিবর্তনের আগে বা পরে দেখিয়ে যাচ্ছেন?
পল রুনি

@ পলরুনি আপনি যে directive-selectorআই যুক্ত করেছেন "directivePrefix"তার জন্য আপনি দেখতে পাবেন যা নির্দেশের জন্য উপসর্গ এবং উপাদানগুলির জন্য একই হবে
অনিরুদ্ধ দাস

এটি কৌনিক 8 এ চলে গেল?
এফলাট

0

কৌণিক in-এর পরিবর্তনগুলি নির্দেশ করে @ অনিরুদ্ধকে ধন্যবাদ:

তৈরি tslint.jsonমধ্যে src/app/sharedপ্রসারিত করতে app/tslint.json:

{
  "extends": "../../tslint.json",
  "rules": {
    "directive-selector": [
      true,
      "attribute",
      "shared",
      "camelCase"
    ],
    "component-selector": [
      true,
      "element",
      "shared",
      "kebab-case"
    ]
  }
}

একটি জিনিস - যদি app.componal.spec এ আপনি ভাগ করা মডিউল থেকে কোনও উপাদানকে উপহাস করেন তবে এটি অভিযোগ করবে যে আপনার মক সিলেক্টর 'অ্যাপ' দিয়ে শুরু করার পরিবর্তে 'ভাগ করা' দিয়ে শুরু করে। আমি মনে করি এটি উপলব্ধি করে - আমি যে মডিউলটি এসেছি সেখান থেকে আমার উপহাসগুলি তৈরি করা উচিত।


-1

tslint.json

"উপাদান-নির্বাচনকারী": [সত্য, "উপাদান", "অ্যাপ", "কাবাব-কেস"]

এই 'কাবাব-কেস' যে কোনও উপাদান নির্বাচনকারীকে এই '-' কেসের সাথে থাকতে বাধ্য করে।

উদাহরণস্বরূপ আপনার কাছে ' অ্যাপ-টেস্ট ', ' অ্যাপ-মাই ' এর মতো নির্বাচক থাকতে পারে ।

এবং যতক্ষণ না আপনার ত্রুটির উদ্বেগ রয়েছে ততক্ষণে আপনাকে অবশ্যই অবশ্যই অ্যাপ্লিকেশনটির মাধ্যমে উপাদান নির্বাচনকারীকে শুরু করতে হবে যেমন আমি যেমন উদাহরণ হিসাবে উল্লেখ করেছি।

Tslint.json এ আপনার কোনও পরিবর্তন করা উচিত বলে আমি মনে করি না, যদিও এটি আপনার সমস্যার সমাধান করবে, তবে tslint এ পরিবর্তন করা ভাল অভ্যাস নয়।

ধন্যবাদ

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