প্রকারের স্ক্রিপ্ট সংকলনে পরীক্ষামূলক সজ্জকার সতর্কতা


247

আমি সতর্কতা পেয়েছি ...

সজ্জাকারীদের জন্য পরীক্ষামূলক সহায়তা একটি বৈশিষ্ট্য যা ভবিষ্যতের প্রকাশে পরিবর্তিত হতে পারে। এই সতর্কতাটি সরাতে 'পরীক্ষামূলক ডেকোরেটর' বিকল্পটি সেট করুন।

... যদিও tsconfig.json- র আমার সংকলনগুলিতে নিম্নলিখিত সেটিংস রয়েছে:

"emitDecoratorMetadata": true,
"experimentalDecorators": true,

অদ্ভুত বিষয়টি হ'ল কিছু র্যান্ডম ক্লাস যা সজ্জা ব্যবহার করে তা সেই সতর্কতাটি দেখায় না তবে একই প্রকল্পের বাকী অংশগুলি তা করে।

টাইপস্ক্রিপ্ট সংকলনে এমন আচরণের কারণ কী হতে পারে?


19
আপনি কি ভিএস কোড পুনরায় চালু করার চেষ্টা করেছেন? আমি মাঝে মাঝে tsconfig.json পরিবর্তন করার পরে এটি প্রয়োজনীয় খুঁজে পেয়েছি।
ডেভিড শেরেট

2
আপনি ধাক্কা উত্তর দোস্ত চেষ্টা করতে পারেন। এটা আমার জন্য কাজ! stackoverflow.com/a/38970591/2468781
eildiz

10
সুযোগক্রমে অন্য কেউ যদি ভিএস কোড নয়, ভিএস পেশাদার ব্যবহার করে এটির মধ্যে চলে যায় তবে আপনি .tsনিজেই একটি কৌণিক প্রকল্পে একটি ফাইল যুক্ত করতে পারেন ; যদি তা হয় তবে ডিফল্ট টিএস সংকলনটি কৌনিক সিএলআইয়ের সাথে সাংঘর্ষিক। ফাইলটি ডান ক্লিক করুন -> সম্পত্তি -> অ্যাকশন তৈরি করুন: কিছুই নয়। তারপরে প্রয়োজনে ভিএস পুনরায় চালু করুন।
পবারানিস

2
ভিএস কোড পুনঃসূচনা আমাকে সমস্যা সমাধানে সহায়তা করেছে।
সিএমএ

4
আমি code .ভুল ডিরেক্টরিতে ভিএসকোড ( ) শুরু করতে পেরেছি । সবকিছু ঠিক আছে বলে মনে হয়েছিল - আমি আমার সমস্ত ফাইল দেখেছি এবং সম্পাদনা করতে পেরেছিলাম - তাই প্রথমে আমি কিছুই বুঝতে পারি নি যে "ভুল" ছিল। তবে আমি সেই বোকা "পরীক্ষামূলক সাজসজ্জা" একটি সম্পর্কে সতর্কতা পেয়েছি - এবং কেবল একজনই! - কৌণিক উপাদান। আমি ভিএসকোড থেকে প্রস্থান করেছি, পুনরায় চালু ( code .পুনরায়) সঠিক ডিরেক্টরিতে (আমার কৌণিক প্রকল্প মূল) .. এবং সতর্কতা অদৃশ্য হয়ে গেল।
পলস্ম 4

উত্তর:


219

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

যদি আপনি অ্যারে tsconfig.jsonব্যবহার করে এর উত্স ফাইলগুলি নির্দিষ্ট করে থাকেন তবে filesইন্টিলিেন্সেন্স কেবলমাত্র সঠিকভাবে কাজ করবে যদি প্রশ্নে থাকা ফাইলটিকে রেফারেন্স করা হয় তবে ভিএস কোড ইনপুট ফাইল ট্রিটিকে অনুসরণ করে এটি সন্ধান করতে পারে।

সম্পাদনা করুন: 'পুনরায় লোড উইন্ডো' কমান্ড (এখন যুগ যুগ আগে যুক্ত) একবার এবং সবার জন্য এই সমস্যাটি সমাধান করা উচিত।


5
ধন্যবাদ - tsconfig.json সমস্যা সমাধানের "ফাইল" অপসারণ
bensiu

4
উত্তরটি আমার মামলার সাথে সত্যই প্রাসঙ্গিক ছিল না তবে আমার সমস্যাটি খুঁজে পেতে কোনওরকম সাহায্য করেছিল। আমি ভিএস 2015 ব্যবহার করছি xprojএবং tsconfigফাইল এবং ফাইল পরিবর্তন করার মধ্যে , আমি আমার স্ক্রিপ্ট ফাইলগুলির সাথে ফোল্ডারটির excludeবিভাগে তালিকাভুক্ত ছিল তা হারিয়েছি tsconfig। আশা করি এটি কাউকে সাহায্য করবে।
স্টেফান বালান

18
ফাইল> ফোল্ডার বন্ধ করুন> ওপেন ফোল্ডারটি আমার পক্ষে কাজ করেছে। আমি vscode সঠিকভাবে বন্ধ না করেই মেশিনটি পুনরায় চালু করার পরে এটি ঘটেছে।
অ্যাড্রিয়ান মাইসা

3
আমি যদি টাইপ স্ক্রিপ্ট ব্যবহার না করছি? কেবল জাভাস্ক্রিপ্ট এস 6?
ডিডিডি

3
এটি কখন যুক্ত করা হয়েছিল তা আমি নিশ্চিত নই তবে কমান্ড প্যালেটে এখন "পুনরায় লোড উইন্ডো" রয়েছে যা এই ধরণের জিনিসটির জন্য আদর্শ।
কোডার

184

সতর্কতাটি সরাতে আমি vscode এর সেটিংস.জসন ফাইলটিতে নিম্নলিখিতগুলি যুক্ত করতে চাই।

"javascript.implicitProjectConfig.experimentalDecorators": true

ভিএসকোড -> পছন্দসমূহ -> সেটিংস

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


অনেক ধন্যবাদ. আমি এস ++ সজ্জকার ব্যবহার করছি এবং টাইপস্ক্রিপ্ট ইনস্টল করা নেই। অসাধারণ.
আখমেজজিয়ানভ ড্যানিলিয়ান

3
এই উত্তরটি সেরা, কারণ কোনও ভিএসকোড সমস্যা সমাধানের জন্য প্রকল্পে আলাদা ফাইল তৈরি করার দরকার নেই।
রডরিগো

ctrl + ,শর্টকাট কী ব্যবহারকারীর সেটিংস খোলার জন্য। ইউজারেটেটিংয়ে 3 টি ডট ক্লিক করুন ( ...) তারপরে পপ আপ Open settings.jsonখুলতে ক্লিক করুনsettings.json
suhailvs

অনেক ধন্যবাদ. খুব উপকারী.
an0nh4x0r

102

আপনি যখন আপনার ওয়ার্কস্পেস ফোল্ডারের জন্য "src" ফোল্ডারটি চয়ন করেন তখন এই ত্রুটিটিও ঘটে।

যখন মূল ফোল্ডার, ফোল্ডার যেখানে "src", "নোড_মডিউল" রয়েছে তা বেছে নেওয়া হলে ত্রুটিটি অদৃশ্য হয়ে যায়


9
এটি পোস্ট করতে এখানে এসেছেন। এটি আমার জন্য এটি স্থির করে দিয়েছে। আমি Angular 2 ব্যবহার করছিলাম Angular CLI এর মাধ্যমে।
async

উপরেরটি যদি বোধগম্য না হয়: ভিসকোডের কনফিগারেশন ফাইলটি যেখানে ফোল্ডারটি তা জানা উচিত। আপনি যদি আরও নীচে কোনও ফোল্ড লোড করতে চান তবে আমার ধারণা আপনি একটি নতুন কনফিগার ফাইল লিখতে পারেন যা সেই ফোল্ডার থেকে এবং নীচে থেকে বৈধ হবে।
লসম্যানোস

ঐটা এটা ছিল. আপনাকে ধন্যবাদ :)
কামিল


32

আপনার প্রকল্পের ভিতরে tsconfig.json ফাইল তৈরি করুন, তারপরে এই লাইনগুলি যুক্ত করুন

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "allowJs": true
    }
}

25

typescript.tsdkআমার যোগ করতে হবে .vscode/settings.json:

"typescript.tsdk": "node_modules/typescript/lib"

5
এই সমস্যা আমার জন্য মীমাংসিত, কিন্তু যে লাইন মধ্যে যায় .vscode/settings.jsonঅনুযায়ী এই
Fran রদ্রিগেজ

1
এটি আমার জন্যও সমাধান করেছে, তবে আমার .vscodeফোল্ডারটি ছিল না (কেন আমি জানি না - আমি ব্যাকেন্ড দেব, আমাকে একা ছেড়ে দাও!), তাই আমি সেই settings.jsonফাইলটি দিয়ে রুট ফোল্ডারে একটি তৈরি করেছিলাম ।
বয়স

15

ভিএসকোডে, ফাইল => পছন্দসমূহ => সেটিংসে (বা নিয়ন্ত্রণ + কমা) যান এবং এটি ব্যবহারকারীর সেটিংস ফাইলটি খুলবে। "জাভাস্ক্রিপ্ট.আইপিপ্লিক্টপ্রজেক্টকনফিগ.এক্স্পেরিমেন্টাল ডেকোরেটর" অনুসন্ধান করুন: সত্য এবং তারপরে পরীক্ষামূলকভাবে ডেকোরেটরগুলির জন্য ফাইলটিতে চেকবক্সটি পরীক্ষা করুন এবং এটি এটি ঠিক করা উচিত। এটা আমার জন্য।

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


12

ভিজ্যুয়াল কোড স্টুডিওতে ফাইল >> পছন্দসমূহ >> সেটিংসে যান, অনুসন্ধান ক্ষেত্রে "সজ্জা" অনুসন্ধান করুন এবং চিত্র হিসাবে বিকল্পটি পরীক্ষা করুন। এখানে চিত্র বর্ণনা লিখুন


11

settings.jsonনিম্নলিখিত অবস্থানে ফাইল খুলুন<project_folder>/.vscode/settings.json

বা আপনি নীচে উল্লিখিত মেনু থেকে ফাইল খুলতে পারেন

VSCode -> File -> Preferences -> Workspace Settings

পরীক্ষামূলকডেকোরেটর সেটিংস

তারপরে settings.jsonফাইলটিতে নিম্নলিখিত লাইনগুলি যুক্ত করুন

{
    "typescript.tsdk": "node_modules/typescript/lib",
    "enable_typescript_language_service": false
}

এখানেই শেষ. আপনি ' পরীক্ষামূলক ডেকোরেটর ' সম্পর্কিত কোনও সতর্কতা / ত্রুটি দেখতে পাবেন না


11
আমি vscode 1.8.1 ব্যবহার করে "সক্ষম_প্রকারের_সংশ্লিষ্ট_ভাষার_সভা" যুক্ত করার পরে "অজানা কনফিগারেশন সেটিংস" পেয়েছি
ডেভিড চেং

5
যদি এই প্রকল্পটি টাইপস্ক্রিপ্ট ব্যবহার করে তবে এটি হররবাল পরামর্শ!
পলস্ম

1
"সক্ষম_প্রকারের_লিপি_ভাষাগার_সেবা" অক্ষম করা কার্যকরভাবে যে কোনও লাইভ লন্টিং টাইপস্ক্রিপ্ট অফার বন্ধ করে দেবে দয়া করে এই পরামর্শটি এড়ান।
জেসি

10

এই উত্তরটি সেই লোকদের জন্য যারা জাভাস্ক্রিপ্ট প্রকল্প ব্যবহার করছেন এবং কোনও টাইপস্ক্রিপ্ট নয় one পরিবর্তে একটি এর tsconfig.json আপনি যে ফাইলটি একটি ব্যবহার করতে পারেন jsconfig.json ফাইল।

থাকার বিশেষ যদি আলোকচিত্রী তোমাকে সতর্ক ফাইল ভিতরে লেখার wan:

{
    "compilerOptions": {
        "experimentalDecorators": true
    }
}

বগি আচরণগুলি জিজ্ঞাসা করুন, কনফিগ ফাইলে "অন্তর্ভুক্ত" নির্দিষ্ট করা এবং সম্পাদক পুনরায় আরম্ভ করা ভাল। যেমন

{
    "compilerOptions": {
        "target": "ES6",
        "experimentalDecorators": true
    },
    "include": [
        "app/**/*"
    ],
    "exclude": [
        "node_modules"
    ]
}


9

Tsconfig.json এ নিম্নলিখিত লাইনগুলি যুক্ত করুন এবং ভিএস কোডটি পুনরায় চালু করুন।

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "target": "es5",
        "allowJs": true
    }
}

পুনঃসূচনাটি আমার জন্য কী ছিল। ধন্যবাদ।
rynop

9

বিন্দুটি বেলবোর করতে হবে না তবে নিম্নলিখিতটি যুক্ত করতে ভুলবেন না

  • কর্মক্ষেত্র সেটিংস ব্যবহারকারী সেটিংস নয়

ফাইল >> অগ্রাধিকার >> সেটিংস এর অধীনে

"জাভাস্ক্রিপ্ট.আইপিপ্লিক্ট প্রজেক্টকনফিগ.এক্স্পেরিমেন্টাল ডেকোরেটর": সত্য

এটি আমার জন্য সমস্যাটি স্থির করে দিয়েছিল এবং আমি এখানে এবং অন্যান্য জায়গাগুলি বেশ কয়েকটি পরামর্শ পেয়েছি।


7

সম্প্রতি ভিজ্যুয়াল স্টুডিও 2017 এর অধীনে আমার এই সমস্যাটি ছিল - দেখা গেল এটি ভিএস-এর একটি "বৈশিষ্ট্য" দ্বারা ঘটেছিল - tsconfig.json উপেক্ষা করে যখন বিল্ড অ্যাকশনটি কন্টেন্টে সেট করা থাকে না

সুতরাং বিল্ড অ্যাকশনটিকে কন্টেন্টে পরিবর্তন করা এবং সমাধানটি পুনরায় লোড করা সমস্যার সমাধান করে।


4

স্পষ্টতা এবং বোকামির স্বার্থে।

1) .vscode / settings.json খুলুন।

2) এটিতে "টাইপসক্রিপটি.ডেস্ককে" যুক্ত করুন: "নোড_মডিউল / টাইপসক্রিপ্ট / লিবিব" এটিতে।

3) এটি সংরক্ষণ করুন।

৪) ভিজ্যুয়াল স্টুডিও কোডটি পুনরায় চালু করুন।


4

আপনি যদি ভিজ্যুয়াল স্টুডিওতে কাজ করছেন। আপনি এই সমাধান চেষ্টা করতে পারেন

  1. ভিজ্যুয়াল স্টুডিও থেকে আপনার প্রকল্পটি আনলোড করুন
  2. আপনার প্রকল্পের হোম ডিরেক্টরিতে যান এবং "csproj" ফাইলটি খুলুন।
  3. চিত্রটিতে প্রদর্শিত হিসাবে এই বিভাগে TypeScriptExperimentalDecorators যুক্ত করুন

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

    1. ভিজ্যুয়াল স্টুডিওতে প্রকল্পটি পুনরায় লোড করুন।

আরও বিশদ দেখুন এই স্থানে ।


4

আপনি যদি * .ts ফাইলগুলি সংকলন করতে ক্লাইম ব্যবহার করছেন তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে পরীক্ষামূলক ডেকোরেটর সেট করতে পারেন:

 tsc filename.ts --experimentalDecorators "true"

ধন্যবাদ, এটি আমার হতাশাকে রক্ষা করেছে। আমার কাছে প্রশ্নকারীর মতো একই সেটিংস ছিল, তবে আমি সাব্লাইম টেক্সট 3 ব্যবহার করছিলাম এবং আপনার সমাধানটি সহায়ক হিসাবে প্রমাণিত হয়েছে!
ইরফান্দি জিপ

4

দয়া করে আপনার ভিএস কোডে পুরো প্রকল্পের ফোল্ডারটি বিরোধিতা করে দেখুন এবং কেবলমাত্র এসসিআর ফোল্ডারটিই নয়, কারণ আপনি যদি কেবলমাত্র এসসিআর খোলেন, তবে ts.config.json (প্রকল্প ফোল্ডারে অবস্থিত) ফাইলটি সুযোগের মধ্যে থাকবে না এবং ভিএস পরীক্ষামূলক আলংকারকের পরামিতিগুলি চিনতে পারবে না।

আমার ক্ষেত্রে এটি এই সমস্যা সম্পর্কিত সমস্ত সমস্যা সমাধান করেছে।


এটিও আমার ইস্যু ছিল। আপনি কি নোড_মডিউলগুলি দেখতে পাচ্ছেন? আপনি কি tsconfig.json দেখতে পাচ্ছেন? যদি না হয়, একটি নতুন vsCode জানালা, বন্ধ পুরাতন উইন্ডো খুলতে ফাইল চয়ন করুন -> খোলা ফোল্ডারটিকে, এবং নিশ্চিত করুন যে আপনি অভিভাবক ফোল্ডার নির্বাচন করুন করতে srcএবং node_modulesবরং শুধু নির্বাচন চেয়ে src
কাইল ভ্যাসেলা

3
  1. VScode খুলুন।
  2. Ctrl + কমা টিপুন
  3. স্ক্রিন শটটিতে দিকনির্দেশগুলি অনুসরণ করুন
    1. পরীক্ষামূলক ডেকোরেটর সম্পর্কে অনুসন্ধান করুন
    2. এটি সম্পাদনা করুন


1

Tsconfig.json ফাইল থেকে "baseUrl": "" মুছে ফেলার মাধ্যমে আমি সতর্কবার্তাটি সংশোধন করেছি


1

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


1

সময় একটি তৈরি আমি একই সমস্যা সম্মুখীন ইঞ্জেকশনভিত্তিক মধ্যে tsconfig.json .Still আমি ColorsImmutable লাইনে এই ত্রুটি পেয়ে ছিল স্থানে সবকিছুর কৌণিক 2. সার্ভিস আমি করেছি।

@Injectable()
export class ColorsImmutable {

এবং ঠিক করা ছিল পরিষেবা সরবরাহকারী অ্যারে ব্যবহার করে মডিউল স্তর বা উপাদান স্তরে পরিষেবাটি নিবন্ধিত করা।

providers:[ColorsImmutable ],

1

আপনি যদি ডেনো জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্ট রানটাইম ব্যবহার করেন এবং আপনি পরীক্ষামূলক ডেকোরেটরগুলি সক্ষম করেন: tsconfig.json বা VSCode আদর্শ সেটিংসে সত্য। এটি কাজ করবে না. ডেনো প্রয়োজনীয়তা অনুসারে, ডেনো ফাইল চালানোর সময় আপনাকে পতাকা হিসাবে tsconfig সরবরাহ করতে হবে। দেখুন কাস্টম টাইপ করা বিষয় কম্পাইলার বিকল্প

আমার বিশেষ ক্ষেত্রে আমি একটি ডেনো পরীক্ষা চালিয়েছিলাম এবং ব্যবহৃত হয়েছিল।

$ deno test -c tsconfig.json

যদি এটি কোনও ফাইল হয় তবে আপনার মতো কিছু রয়েছে

 $ deno run -c tsconfig.json mod.ts

আমার tsconfig.json

{
  "compilerOptions": {
    "allowJs": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "module": "esnext"
  }
}

আমি ইতিমধ্যে এটি করছি এবং এখনও ভাগ্য নেই, যেহেতু তারা
ডক্সে জানিয়েছে

এটা কাজ করবে। আমার tsconfig.json এর লিখিত সামগ্রীর আপডেট উত্তর দেখুন। তারপরে এই লিঙ্কটি দেখুন github.com/manyuanrong/dso/issues/18
tksilicon

0

আমি এই বিকল্পটি tsconfig.json এ যুক্ত করেছি, "baseUrl": "front-end"আপনার কৌণিক-ক্লাইপ প্রকল্পের নাম দিয়ে ফ্রন্ট-এন্ড প্রতিস্থাপন করব।



0

সুতরাং দেখা যাচ্ছে যে আপনি নিজের মডিউলটির সাথে ফাইলের নামের সাথে মিল রেখে এটি পেতে পারেন। আপনার যদি মডিউলটির নাম BankSpectedtyModule থাকে তবে ফাইলের নাম হওয়া উচিত। ব্যাঙ্ক specialty.module.ts


0

আমি যখন একটি নতুন মডিউল তৈরি করেছি এবং আমার * .Module.ts এবং * -routing.module.ts ফাইলটি অন্য ফোল্ডারে স্থানান্তরিত করেছি তখন আমি এই ত্রুটিটি অনুভব করেছি। আমি দুটি ফাইল মুছে ফেলার পরে এবং নতুন ফোল্ডারে মডিউল তৈরি করার পরে এটি পুরোপুরি কার্যকর হয়। পরিবেশ কৌণিক সংস্করণ 9 এবং কৌণিক সিএলআই সংস্করণ 9.1.0

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