কৌণিক: প্রতিশ্রুতি, মানচিত্র, সেট এবং ইটারেটর খুঁজে পাচ্ছে না


176

কৌণিক ইনস্টল করার পরে, টাইপ করা বিষয় কম্পাইলার রাখা খোঁজার না সম্পর্কে কিছু ত্রুটি পেয়ে Promise, Map, Setএবং Iterator

এখন অবধি আমি এগুলি উপেক্ষা করেছি তবে এখন আমার প্রয়োজন Promiseতাই আমার কোডটি কাজ করতে পারে।

import {Component} from 'angular2/core';
@Component({
    selector: 'greeting-cmp',
    template: `<div>{{ asyncGreeting | async}}</div>`
})
export class GreetingCmp {
    asyncGreeting: Promise<string> = new Promise(resolve => {
// after 1 second, the promise will resolve
        window.setTimeout(() => resolve('hello'), 1000);
    });
}

Additional information:
npm -v is 2.14.12
node -v is v4.3.1
typescript v is 1.6

ত্রুটিগুলি:

................ERROS OF MY CODE.................
    C:\Users\armyTik\Desktop\angular2\greeting_cmp.ts
    Error:(7, 20) TS2304: Cannot find name 'Promise'.
    Error:(7, 42) TS2304: Cannot find name 'Promise'.
    .........................................
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\platform\browser.d.ts
    Error:(77, 90) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\application_ref.d.ts
    Error:(83, 60) TS2304: Cannot find name 'Promise'.
    Error:(83, 146) TS2304: Cannot find name 'Promise'.
    Error:(96, 51) TS2304: Cannot find name 'Promise'.
    Error:(96, 147) TS2304: Cannot find name 'Promise'.
    Error:(133, 90) TS2304: Cannot find name 'Promise'.
    Error:(171, 81) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\change_detection\parser\locals.d.ts
    Error:(3, 14) TS2304: Cannot find name 'Map'.
    Error:(4, 42) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\debug\debug_node.d.ts
    Error:(14, 13) TS2304: Cannot find name 'Map'.
    Error:(24, 17) TS2304: Cannot find name 'Map'.
    Error:(25, 17) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\di\provider.d.ts
    Error:(436, 103) TS2304: Cannot find name 'Map'.
    Error:(436, 135) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\compiler.d.ts
    Error:(12, 50) TS2304: Cannot find name 'Promise'.
    Error:(16, 41) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\linker\dynamic_component_loader.d.ts
    Error:(108, 136) TS2304: Cannot find name 'Promise'.
    Error:(156, 150) TS2304: Cannot find name 'Promise'.
    Error:(197, 128) TS2304: Cannot find name 'Promise'.
    Error:(203, 127) TS2304: Cannot find name 'Promise'.
    Error:(204, 141) TS2304: Cannot find name 'Promise'.
    Error:(205, 119) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\core\render\api.d.ts
    Error:(13, 13) TS2304: Cannot find name 'Map'.
    Error:(14, 84) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\async.d.ts
    Error:(27, 33) TS2304: Cannot find name 'Promise'.
    Error:(28, 45) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\collection.d.ts
    Error:(1, 25) TS2304: Cannot find name 'MapConstructor'.
    Error:(2, 25) TS2304: Cannot find name 'SetConstructor'.
    Error:(4, 27) TS2304: Cannot find name 'Map'.
    Error:(4, 39) TS2304: Cannot find name 'Map'.
    Error:(7, 9) TS2304: Cannot find name 'Map'.
    Error:(8, 30) TS2304: Cannot find name 'Map'.
    Error:(11, 43) TS2304: Cannot find name 'Map'.
    Error:(12, 27) TS2304: Cannot find name 'Map'.
    Error:(14, 23) TS2304: Cannot find name 'Map'.
    Error:(15, 25) TS2304: Cannot find name 'Map'.
    Error:(95, 41) TS2304: Cannot find name 'Set'.
    Error:(96, 22) TS2304: Cannot find name 'Set'.
    Error:(97, 25) TS2304: Cannot find name 'Set'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\lang.d.ts
    Error:(13, 17) TS2304: Cannot find name 'Map'.
    Error:(14, 17) TS2304: Cannot find name 'Set'.
    Error:(78, 59) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\facade\promise.d.ts
    Error:(2, 14) TS2304: Cannot find name 'Promise'.
    Error:(7, 32) TS2304: Cannot find name 'Promise'.
    Error:(8, 38) TS2304: Cannot find name 'Promise'.
    Error:(9, 35) TS2304: Cannot find name 'Promise'.
    Error:(9, 93) TS2304: Cannot find name 'Promise'.
    Error:(10, 34) TS2304: Cannot find name 'Promise'.
    Error:(11, 32) TS2304: Cannot find name 'Promise'.
    Error:(11, 149) TS2304: Cannot find name 'Promise'.
    Error:(12, 43) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\headers.d.ts
    Error:(43, 59) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\http\url_search_params.d.ts
    Error:(11, 16) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\browser\browser_adapter.d.ts
    Error:(75, 33) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\angular2\src\platform\dom\dom_adapter.d.ts
    Error:(85, 42) TS2304: Cannot find name 'Map'.
    C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\CoreOperators.d.ts
    Error:(35, 67) TS2304: Cannot find name 'Promise'.
    Error:(50, 66) TS2304: Cannot find name 'Promise'.
    Error:(89, 67) TS2304: Cannot find name 'Promise'.
    Error:(94, 38) TS2304: Cannot find name 'Promise'.
    Error:(94, 50) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\Observable.d.ts
    Error:(46, 62) TS2304: Cannot find name 'Promise'.
    Error:(47, 42) TS2304: Cannot find name 'Iterator'.
    Error:(103, 74) TS2304: Cannot find name 'Promise'.
    Error:(103, 84) TS2304: Cannot find name 'Promise'.
    Error:(143, 66) TS2304: Cannot find name 'Promise'.
    Error:(158, 65) TS2304: Cannot find name 'Promise'.
    Error:(201, 66) TS2304: Cannot find name 'Promise'.
    Error:(206, 38) TS2304: Cannot find name 'Promise'.
    Error:(206, 50) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\ForkJoinObservable.d.ts
    Error:(6, 50) TS2304: Cannot find name 'Promise'.
    Error:(7, 58) TS2304: Cannot find name 'Promise'.
    C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\FromObservable.d.ts
    Error:(7, 38) TS2304: Cannot find name 'Promise'.
    Error:(7, 51) TS2304: Cannot find name 'Iterator'.
    C:\Users\armyTik\Desktop\angular2\node_modules\rxjs\observable\PromiseObservable.d.ts
    Error:(9, 31) TS2304: Cannot find name 'Promise'.
    Error:(10, 26) TS2304: Cannot find name 'Promise'.

1
ভিজ্যুয়াল স্টুডিও 2015 এর জন্য টাইপস্ক্রিপ্টের সর্বশেষ সংস্করণটি ইনস্টল করুন ।
mylesk

উত্তর:


177

টাইপস্ক্রিপ্ট cript 2.0.0 সহ কৌণিক 5

এটি কৌনিক 2+ এর পূর্ববর্তী সংস্করণগুলির সাথেও একই কাজ করা উচিত।

টাইপস্ক্রিপ্ট ২.০.০ নিয়ে কাজ করার জন্য, আমি নিম্নলিখিতটি করেছি।

npm install --save-dev @types/core-js

tsconfig.json

 "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "noEmitOnError": true,
    "noImplicitAny": false,
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ],
    "types": [
      "core-js"
    ]
  }

টাইপস্ক্রিপ্ট ২.০.০ সহ আরও বেশি পছন্দ

  1. https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/
  2. https://www.npmjs.com/~types

ইনস্টল উদাহরণ:

npm install --save-dev @types/core-js

ডুপ্লিকেট আইডেন্টিফায়ার ত্রুটি

এটি সম্ভবত কারণ ডুপ্লিকেট বাস্তু স্ক্রিপ্ট 6 টাইপ ইতিমধ্যে অন্য কোথাও থেকে আমদানি করা হয় সম্ভবত সম্ভবত একটি পুরানো এস 6-শিম।

ডাবল চেক typings.d.tsনিশ্চিত করুন যে এখানে কোনও উল্লেখ নেই es6es6আপনার টাইপিং ডিরেক্টরি থেকে কোনও রেফারেন্স সরিয়ে ফেলুন।

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

এটি types:['core-js']টাইপিংস.জসনের সাথে বিরোধ করবে will

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160602141332" 
    // es6-shim will also conflict
  }
}

সহ core-jsধরনের অ্যারের মধ্যে tsconfig.jsonএকমাত্র জায়গা তা থেকে আমদানি করা হয় হওয়া উচিত।

কৌণিক সিএলআই 1.0.0-বিটা.30

আপনি যদি কৌণিক-সিএলআই ব্যবহার করে থাকেন তবে লাইব অ্যারেটি সরিয়ে ফেলুন typings.json। এটি कोर-জেএস ধরণের ঘোষণার সাথে দ্বন্দ্ব বলে মনে হচ্ছে।

"compilerOptions" : {
  ...
  // removed "lib": ["es6", dom"],
  ...
},
"types" : ["core-js"]

কৌণিক সিএলআই ব্যবহার করে ওয়েবস্টর্ম / ইন্টেলিজ ব্যবহারকারীরা

বিল্ট ইন টাইপ স্ক্রিপ্ট সংকলক অক্ষম রয়েছে তা নিশ্চিত করুন। এটি সিএলআইয়ের সাথে বিরোধ করবে। আপনার টাইপস্ক্রিপ্ট সিএলআই দিয়ে সংকলন করতে আপনি একটি ng serveকনফিগারেশন সেটআপ করতে পারেন ।

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

Tsconfig সংকলক অপশনগুলি lib বনাম প্রকার

আপনি যদি কোর জেএস টাইপ সংজ্ঞা ইনস্টল না করতে পছন্দ করেন তবে কিছু এসআই 6 লাইব্রেরি রয়েছে যা টাইপস্ক্রিপ্টের সাথে অন্তর্ভুক্ত থাকে। এগুলি lib: []tsconfig এ সম্পত্তি ব্যবহার করে ।

উদাহরণস্বরূপ এখানে দেখুন: https://www.typescriptlang.org/docs/handbook/compiler-options.html

দ্রষ্টব্য: --lib নির্দিষ্ট না করা থাকলে একটি ডিফল্ট লাইব্রেরি ইনজেকশন করা হয়। ইঞ্জেক্ট করা ডিফল্ট লাইব্রেরিটি হ'ল: tar -রগারেট ES5: DOM, ES5, স্ক্রিপ্টহোস্ট - -জারেট ES6 এর জন্য: DOM, ES6, DOM.Iteable, স্ক্রিপ্টহোস্ট

TL; ড

সংক্ষিপ্ত উত্তর হয় "lib": [ "es6", "dom" ]বা "types": ["core-js"]সমাধান করতে ব্যবহার করা যেতে পারে can't find Promise,Map, Set and Iterator। উভয় ব্যবহারের ফলে সদৃশ শনাক্তকারী ত্রুটি ঘটবে।


1
আপডেট এবং ভাল উত্তরের জন্য ধন্যবাদ। এই ত্রুটিটি এখনও অবধি দূর করতে এখানে এখনও আসা লোকেরা আপনার উত্তরটি আমি গ্রহণ করেছি। আরসি 5 তে আপনার উত্তর আপডেট করার কোনও সুযোগ আছে কি? আমি এই ত্রুটির মুখোমুখি হয়েছি এবং আপনার উত্তর অনুসরণ করে আমি প্রতিশ্রুতিটি ব্যবহার করতে সক্ষম হয়েছি কিন্তু এখন নোড_মডিউলগুলি \ @ টাইপস \ এস 6-শিম \ index.d.ts ফাইল থেকে অনেকগুলি ত্রুটি রয়েছে: "নকল শনাক্তকারী 'সম্পত্তি" K লাইনে: 6,10,248,283,290 এবং আরও কিছু; .. ত্রুটি এতেও রয়েছে: সি: \ ব্যবহারকারীরা T আর্মিটিক \ ডেস্কটপ \ আরসি 5 \ স্টোর-অ্যাপ -02 \ নোড_মডিউলগুলি \ টাইপস্ক্রিপ্ট \ লিব \ lib.es2015.core.d.ts: 17 : 13 অনুলিপি সনাক্তকারী 'সম্পত্তি'।
স্টাভ আলফি

আমি আমার উত্তর আপডেট। আশা করি এটি কিছুটা পরিষ্কার করতে সহায়তা করে। আমি বিশ্বাস করি আরসি 5 এবং আরসি 4 এর ক্ষেত্রে এটি একই হওয়া উচিত should
ক্রিস হলেনবেক

আমি এটি কেবল কোর-জেএস প্রতিফলিত করার জন্যও পরিবর্তন করেছি যাতে এটি আশাবাদী কম বিভ্রান্তিকর হয়। কোর-জেএস এবং এস both উভয়ই এস specific নির্দিষ্ট ধরণের ঘোষণার জন্য। আমি কোর-জেএস পছন্দ করি কারণ এটি এস-শিমের চেয়ে বেশি কভার করে বলে মনে হচ্ছে।
ক্রিস হলেনবেক

আপডেটের জন্য ধন্যবাদ. এবার আমার ভাগ্য হয়নি। আমি আমার বর্তমান ত্রুটিগুলি আপডেট করেছি।
স্টাভ আলফি

2
সম্ভবত, lib ভাল সমাধান। github.com/angular/angular/blob/…
অ্যালেক্স

75

আমারও একই সমস্যা আছে - "প্রতিশ্রুতি পাওয়া যায় নি" - যখন কোড কোনও প্রতিশ্রুতি বস্তু তৈরি করতে চায়।

সিস্টেম.জগুলি গঠনের জন্য সিস্টেম.কনফিগ ({...}) নেওয়া এবং এটি সূচক। Html এ অন্তর্ভুক্ত করা সহ স্ট্যাকওভারফ্লোতে কিছু সমাধানের সন্ধান করা হয়েছে।

অবশেষে আমি সমস্যার সমাধান করেছি। ইস্যুটি হ'ল, index.html এ es6-shim.min.js অন্তর্ভুক্ত রয়েছে। তবে, tsconfig.json এ, "compilerOptions" এর অধীনে "টার্গেট" সম্পত্তিটির "এস 5" এর মান রয়েছে। আমি এটিকে "এস 6" এ পরিবর্তন করার পরে ত্রুটি চলে গেছে।


2
এটি আমার জন্যও সমস্যা ছিল। কেউ কি জানেন যে কেন এই ত্রুটি ঘটবে?
নিক ব্র্যাডি

ইন্টেলিজ আইডিইএ / ওয়েবস্টোরম
বেন্টোলার

5
তবে সমস্ত ব্রাউজার এসএস-এর জন্য প্রস্তুত না থাকায় জেএস কোডটি এস 5 এ স্থানান্তর করতে হবে। কেউ কি বিভিন্ন ব্রাউজারে এস 6 সমস্যা পেয়েছে? বড়ই সৌন্দর্য্য!
বিএমনেপালি

কৌণিক 2.1.0 এ আমার জন্য কাজ করে। কম্পাইলার 2.1.0 কোর 2.1.0 common2.1.0 rxjs5.0.0-beta.12 প্ল্যাটফর্ম-browser2.1.0
ফরহাদ goodarzi

ধন্যবাদ! আপনি আমাকে অনেক সময় সাশ্রয় করেছেন
ক্রিশ্চিয়ান ট্র্যানা

63

কৌণিক 2 ফাইনাল

- এস 5 সমর্থন (টিএস 2.0.0 + এর সাথে পুরোপুরি কাজ করে)

প্রতি আপডেট es6-shimএখনই সমর্থিত নয়, যদি আপনার উভয় টাইপ একসাথে es6-shimএবং core-jsএকসাথে ইনস্টল করা থাকে। es6-shimTsconfig.json এ উল্লেখ করে টাইপিং সরান । আপনি এখন ভিতরে সমর্থন core-jsজন্য নীচে টাইপ করতে পারেনes5main.ts

///<reference path="./../typings/globals/core-js/index.d.ts"/>

tsconfig.json

exclude: [
   "node_modules", //<-- this would be needed in case of VS2015
   "node_modules/@typings",
   "typings"
]

- এস 6 সাপোর্ট

আপনাকে কেবল "target"সম্পত্তি সেট করতে হবে es6, তবে সমস্ত ত্রুটি চলে যাবে away এবং স্থানান্তরিত কোডটি es6ফর্ম্যাটে থাকবে।


আপনাকে অনেক ধন্যবাদ. আমার নিজের থেকে এটি খুঁজে পাওয়ার কোনও সুযোগ ছিল না।
স্টাভ আলফি

@ স্টাভ্যালফি এনপি .. এটি ঘটে .. আপনাকে সাহায্য করে খুশি .. ধন্যবাদ :)
পঙ্কজ পার্কার

বিটা With. সহ এটি ইনস্টল করা উচিত যদি আপনি কুইকস্টার্ট টিউটোরিয়ালে প্রকল্প সেটআপ ব্যবহার করেন। আপনি কৌণিক কোন বিটা ব্যবহার করবেন? আমি কৌনিক 2.0.0 বিটা 7
মার্চ

1
কুইকস্টার্ট টিউটোরিয়ালে প্যাকেজ.জসন কৌনিক ২ এর আসল সংস্করণ সমর্থন করে If tscconfig.json এবং typings.json আপনার প্রজেক্টের রুট dir এ কল করুন এবং এনপিএম-ইনস্টল করুন প্রকল্পের সেটআপ ঠিক থাকবে।
মার্ক

3
@ পঙ্কজপ্রিকার 2.0.0-rc.1। আমি দু'দিন আগে কেবল কৌণিক ব্যবহার শুরু করেছিলাম যদিও ডকিং শুরু করার জন্য [এখানে] () কাজ করেছি। ইন package.jsonতারা করা "angular2-in-memory-web-api": "0.0.7"এবং কৌণিক কাপড় বাকি আসে থেকে "@angular/<module>": "2.0.0-rc.1"যেখানে <module>হয় common, compiler, core, http, platform-browser, platform-browser-dynamic, router, router-deprecatedএবং upgrade
হেক্টর

42

কৌণিক -০.০.০-আরসি ৪ হিসাবে আপডেট হয়েছে

TLDR;

  1. এস 6 এ ট্রান্সপ্লাইল করুন

    • ত্রুটি চলে যায় (ডাব্লু / কিছু গ্যাটাচস)।
  2. এস 5 এ ট্রান্সপ্লাইল করুন

    • টাইপ ইনস্টল করুন
    • এস 6 শিম ইনস্টল করুন
    • এটি আপনার কোড সহ সংকলন করে তা নিশ্চিত করুন।
    • ত্রুটি চলে যায়।

পাঠকদের জন্য:

বিকল্প 1: এস 6 বা এস2015 এ স্থানান্তর করুন

tsconfig.json:

{
  "compilerOptions": {
    "target": "es6",
    "module": "system",
    "moduleResolution": "node",
     ...
  },
"exclude": [
    "node_modules",
    "jspm_packages"
  ]
}

মনে রেখ Uglifyjs রাখবেন এই মুহুর্তে es6 সমর্থন করে না । এটি আপনাকে উত্পাদন বান্ডিল তৈরি করতে প্রভাবিত করতে পারে।

বিকল্প 2: এস 5 এ স্থানান্তর করুন, টাইপগুলি ইনস্টল করুন এবং তারপরে এস 6-শিম ইনস্টল করুন:

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
     ...
  },
  "exclude": [
    "node_modules",
    "jspm_packages"
  ]
}

টাইপগুলি ইনস্টল করুন, তারপরে এস 6-শিম ইনস্টল করুন:

npm install typings --saveDev
typings install dt~es6-shim --global --save

আপনি যদি এই রুটে যান তবে আপনাকে অবশ্যই তা নিশ্চিত করতে হবে যে টাইপস্ক্রিপ্ট সংকলক .d.ts ফাইলটি খুঁজে পেতে পারে।

আপনার দুটি বিকল্প রয়েছে:

ক। আপনার tsconfig.json টাইপিং ফোল্ডারের সমান স্তরে রয়েছে তা নিশ্চিত করুন।

খ। আপনার কৌনিক 2 অ্যাপ্লিকেশনটি বুটস্ট্র্যাপযুক্ত যেখানে আপনার মেইন.টি.এস. ফাইলে একটি উল্লেখ অন্তর্ভুক্ত করুন।

বিকল্প একটি: আপনার tsconfig.json টাইপিং ফোল্ডারের সমান স্তরে রয়েছে তা নিশ্চিত করুন।

দ্রষ্টব্য: টাইপিং ফোল্ডারটি বাদ দিতে বাদ্য পতাকা ব্যবহার করবেন না।

project
|-- src
|-- node_modules
|-- package.json
|-- typings
|-- tsconfig.json

বিকল্প বি: বুটস্ট্র্যাপের আগে প্রধান ফাইলে রেফারেন্স (এটি করবেন না):

অন্যান্য উত্তরে প্রদর্শিত হিসাবে, এই ফাইলটি আর কৌণিক দ্বারা অন্তর্ভুক্ত করা হয় না

main.ts:

/// <reference path="../../typings/globals/es6-shim/index.d.ts" />

2
বিকল্প 1 আরসি 4 এর জন্য পুরোপুরি ভাল কাজ করে। নাম স্থানের বিরোধগুলি এড়ানোর জন্য প্রতিশ্রুতি, মানচিত্র ইত্যাদি সরবরাহকারী কোর-জেএস এবং অন্যান্য টাইপগুলি সরিয়ে ফেলার বিষয়ে নিশ্চিত হন।
wtfzn

1
ধন্যবাদ, 1 কাজ করেছে। কোর-জেএস বা এস-শিম (উভয়ই নয়) প্রয়োজন। এবং তারপরে আপনার ts সংকলন প্রক্রিয়াতে ./typings/index.d.ts অন্তর্ভুক্ত করুন।
k3a

1
--saveDevআপাতত কাজ করে না --save-devআছে।
জর্জ সোভেটোভ

1
typingsবিশ্বব্যাপী ইনস্টল করা উচিত নয় ?
জর্জ সোভেটোভ


8

এটিই আমার পক্ষে কাজ করেছিল।

কোনও typings.jsonফাইল আছে কিনা তা পরীক্ষা করে দেখুন ,

এটি দেখতে এমন কিছু দেখাচ্ছে,

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160317120654",
    "jasmine": "registry:dt/jasmine#2.2.0+20160505161446",
    "node": "registry:dt/node#6.0.0+20160613154055"
  }
}

টাইপিং প্যাকেজ বিশ্বব্যাপী ইনস্টল করুন।

sudo npm install -g typings

টাইপিং ইনস্টল করার পরে , চালান

typings install

তারপরে সার্ভারটি পুনরায় চালু করুন।


6

আমার একই ধরণের সমস্যা হয়েছিল যেখানে এটি প্রতিশ্রুতি.আরলভ () পদ্ধতিটি স্বীকৃতি দিচ্ছে না । আমি tsconfig.json এ ES5 থেকে ES6 তে "টার্গেট" মান পরিবর্তন করেছি । যে সমস্যার সমাধান।

আশাকরি এটা সাহায্য করবে.


হ্যাঁ এটি আমাকে নিশ্চিতভাবে সহায়তা করেছিল - tsconfig.json এর ES5 থেকে ES6 এ "টার্গেট" মান পরিবর্তন করেছে।
গ্রেগ ট্রেভেলিক

5

যেহেতু কৌণিক 2 আরসি 0 এ গিয়েছিল, /angular2/typings/browser.d.ts এখন আর কৌণিক 2 বিতরণের অংশ নয়। ফাইলটি পৃথকভাবে ইনস্টল করা যেতে পারে।

এখান থেকে: https://github.com/angular/angular/issues/8513 কয়েকটি বিকল্প রয়েছে। যে আমার পক্ষে কাজ করেছিল সে হ'ল:

typings install es6-shim --ambient --save

// In your app.ts
/// <reference path="typings/browser.d.ts" />

1
এর জন্য ধন্যবাদ, তবে টাইপিংয়ের জন্য 1.0+ কমান্ডটি হ'ল: টাইপিংগুলি ইনস্টল করুন dt ~ es6-shim --save --global ( github.com/typings/typings/issues/517 ) এবং তারপরে /// <রেফারেন্স পাথ = " টাইপিং / es6-shim / es6-shim.d.ts "/>
সাইমন ট্রুহেলা

4

টিএস বুটস্ট্র্যাপ ফাইলটিতে কোনও ট্রিপল-স্ল্যাশ রেফারেন্স যোগ না করে, ইএস 6 এ পরিবর্তন করুন (যা ড্যাটবোই বলেছেন ঠিক তেমন ইস্যু নিয়ে আসে ) আমি ভিএস2015 NodeJSএবং / অথবা NPMবান্ডেল বিল্ডগুলি বা typingsবিশ্বব্যাপী ইনস্টল না করেই এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি

কয়েকটি পদক্ষেপে আমি যা করেছি তা এখানে:

  • যোগ typingsপ্রকল্পের মধ্যে package.jsonফাইল।
  • প্রতিটি এনপিএম ক্রিয়াকলাপের পরে এক্সিকিউট / আপডেট করতে ফাইলটিতে একটি scriptব্লক যুক্ত করেছে ।package.jsontypings
  • typings.jsonপ্রজেক্টের মূল ফোল্ডারে একটি ফাইল যুক্ত করেছে core-jsযার সাথে একটি রেফারেন্স রয়েছে , যা এই মুহূর্তে ES5 / ES6 সমস্যাগুলি সমাধান করার জন্য সেরা শিম / পলফিল প্যাকেজগুলির মধ্যে একটি।

এখানে কিভাবে package.jsonফাইল (প্রাসঙ্গিক শুধুমাত্র লাইন) মত হওয়া উচিত:

{
  "version": "1.0.0",
  "name": "YourProject",
  "private": true,
  "dependencies": {
    ...
    "typings": "^1.3.2",
    ...
  },
  "devDependencies": {
    ...
  },
  "scripts": {
      "postinstall": "typings install"
  }
}

এবং typings.jsonফাইলটি এখানে :

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160602141332",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160621231320"
  }
}

( JasmineএবংNode প্রয়োজনীয় নয়, তবে ভবিষ্যতে আপনার প্রয়োজনের ক্ষেত্রে সেগুলি রাখার পরামর্শ দিই)।

এই ফিক্সটি Angular2 RC1 থেকে RC4 এর সাথে ঠিকঠাকভাবে কাজ করছে, যা আমার প্রয়োজন, তবে আমি মনে করি এটি অন্যান্য ES6- সক্ষম গ্রন্থাগার প্যাকেজের ক্ষেত্রেও একই সমস্যা সমাধান করবে।

আফাইক, আমি মনে করি এটি ভিএস ২০১৫ ডিফল্ট সেটিংসগুলিকে গোলমাল না করেই এটি সংশোধন করার সবচেয়ে সহজতম উপায়।

সমস্যাটির আরও তথ্য এবং বিশদ বিশ্লেষণের জন্য, আমি আমার ব্লগে এই পোস্টটি পড়ার পরামর্শ দিই ।


3

টাইপিং v1.0 + সহ কৌণিক 2 আরসি 1 ব্যবহার করে কমান্ডটি ব্যবহার করুন:

typings install dt~core-js --save --global

কোর-জে সংজ্ঞাটি ইনস্টল করতে এবং তারপরে আপনার মেইন.টি.সে আপনার বিশ্বব্যাপী সূচকটি উল্লেখ করতে:

/// <reference path="../../../typings/index.d.ts" />

যদি এস 6-শিম বা অন্য কোনও শিম লাইব্রেরি ব্যবহার করা হয় তবে তার পরিবর্তে টাইপগুলি ইনস্টল করুন

পড়ুন https://github.com/typings/typings/issues/517


2

আমি কৌনিক 5 থেকে কৌণিক 6 তে আপগ্রেড করার পরে এই সমস্যাগুলি দেখছি I আমি ভিএস ২০১7 এ নিম্নলিখিতটি করে এটি সমাধান করতে সক্ষম হয়েছি:

  • টাইপস্ক্রিপ্টের আমার নির্দিষ্ট সংস্করণ, ২.৯ এর জন্য টাইপস্ক্রিপ্ট এসডিকে ইনস্টল করা হয়েছে (ভিজ্যুয়াল স্টুডিও ইনস্টলার মাধ্যমে) নিশ্চিত করুন
  • মডিউল সিস্টেম প্রকল্পের সম্পত্তিটি আমার tsconfig.json: ES2015 এর সাথে মেলে কিনা তা নিশ্চিত করুন। Tsconfig ফাইলটি প্রকল্পের মূলটিতে থাকলে এটি প্রায়শই স্বয়ংক্রিয়ভাবে সিঙ্ক হয়। তবে, যেহেতু আমি ভিএস অ্যাঙ্গুলার টেম্পলেটটি ব্যবহার করছিলাম, এটি এই ফাইলগুলিকে একটি "ক্লায়েন্ট অ্যাপ" সাবফোল্ডারে রাখে এবং মডিউল সিস্টেম প্রকল্পের সম্পত্তি সেট করা হয়নি।

VS2017 প্রকল্পের সম্পত্তি

tsconfig.json:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "lib": [
      "es2017",
      "dom"
    ],
    "module": "es2015",
    "baseUrl": "./"
  }
}

1

আমার ক্লাসের মধ্যে একটি প্রতিশ্রুতি অবজেক্ট তৈরি করার সময় আমারও একই সমস্যা ছিল। "এস 6" থেকে "এস 5" তে টার্গেটের নাম পরিবর্তন করে আমার সমস্যার সমাধান করেছে।


1

আর একটি সম্ভাব্য সমাধান হ'ল টাইপগুলি পুনরায় ইনস্টল করা:
এটি আমার পক্ষে কাজ করে"angular2": "2.0.0-beta.15"

  1. npm clean cache
  2. npm install
  3. npm install -g typings
  4. typingsপ্রকল্প থেকে ডিরেক্টরি মুছুন (ডিরেক্টরি যেখানে কোথাও টাইপিং মডিউল ইনস্টল করা আছে)
  5. typings install
  6. npm run

1

আরেকটি ভাল সমাধান। প্রকল্পের মূল ডিরেক্টরিতে আপনার বিষয়বস্তু সহ একটি ফাইল টাইপিংস.জসোন তৈরি করতে হবে:

{
  "globalDependencies": {
    "core-js": "registry:dt/core-js#0.0.0+20160725163759",
    "jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
    "node": "registry:dt/node#6.0.0+20160909174046"
  }
}

তারপরে বৈশ্বিক বা স্থানীয় টাইপিং প্যাকেজটি ইনস্টল করুন, এটি ইনস্টল না হলে (আমি এটি বিশ্বব্যাপী ইনস্টল করছি):

sudo npm install --global typings

প্রোজেক্ট রুট ডিরেক্টরি রান কমান্ডে:

typings install

তার পরে সমস্যার সমাধান হয়। Tsconfig টার্গেটকে es6 বা es7 এ পরিবর্তন করার দরকার নেই। আপনার ওয়েব অ্যাপ্লিকেশন ব্রাউজারগুলির কিছু পুরানো সংস্করণ পরে সমর্থন করে না।


1

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

https://developercommunity.visualstudio.com/content/problem/208941/vs-156-ignores-tsconfigjson-and-typescriptcompileb.html

আপনাকে আপনার tsconfig.json এর বিল্ড অ্যাকশনটি "সামগ্রী" (রাইট ক্লিক -> বৈশিষ্ট্য) এ সেট করতে হবে, তারপরে ভিএস এটি বেছে নেবে।


0

আমি বুট.টিসে রেফারেন্সটি খুঁজে পাইনি যে সঠিক পথ ছিল না। /// <reference path=">../../../node_modules/angular2/typings/browser.d.ts" />প্রতিশ্রুতি ত্রুটিগুলি সমাধান করার জন্য সেই পথটি আপডেট করা ।


0

আমি একটি কৌনিক 2 টিউটোরিয়াল (নায়ক) দিয়ে প্রশিক্ষণ দিচ্ছি।
@ প্রকারগুলি / কোর-জেএস ইনস্টল করার পরে এইগুলির উত্তরগুলিতে মন্তব্য করা হয়েছে, আমি একটি "সদৃশ সনাক্তকারী" ত্রুটি পেয়েছি।
আমার ক্ষেত্রে এটি tsconfig.json- এ লাইব লাইন অপসারণ হিসাবে সমাধান করা হয়েছিল।

// "লিবিব": ["এস ২০১৫", "ডোম"]


-1

আমার ফাইল কাঠামো নীচে হিসাবে রয়েছে:

project
 |--node-modules
 |   |--angular2
 |   |   |--typings
 |   |   |   |--browser.d.ts
 |--src
 |--app.ts

নীচে আপনার app.ts এবং আপনার সমস্যার সমাধান শীর্ষে আটকান

/// <reference path=">../../../node_modules/angular2/typings/browser.d.ts" />

Tsconfig.json- তে ES6 এ নির্দেশ করার জন্য TARGET এন্ট্রি পরিবর্তন করা উপরের উত্তরগুলিতে কিছু নির্দেশিত হিসাবে আমার জন্য এই সমস্যাটি স্থির করেছে।
দ্য কপিপাস্টার

-1

আমি একই সমস্যা পেয়েছি এবং এটি গিথুব https://github.com/angular/angular-cli/issues/1901 এ সন্ধান করতে পেরেছি , যা বলে যে এটি একটি সমস্যা typescript@2.0.2

2.0.0বিশ্বব্যাপী এবং স্থানীয়ভাবে উভয় ক্ষেত্রেই টাইপস্ক্রিপ্ট ডাউনগ্রেড এটিকে সমাধান করতে আমাকে সহায়তা করেছিল।

বিশ্বব্যাপী:

npm uninstall typescript -g
npm cache clean
npm install typescript@2.0.0 -g

স্থানীয়ভাবে: আপনি এনজি নিউ দ্বারা তৈরি প্রকল্প ফোল্ডারে যান into

npm uninstall typescript
npm cache clean
npm install typescript@2.0.0

আমিও থেকে package.json মধ্যে টাইপ করা বিষয় সংস্করণ পরিবর্তিত ^2.0.0করতে 2.0.0, কিন্তু এই সময়ের আমি স্থানীয় টাইপ করা বিষয় ইনস্টলেশন ডাউনগ্রেড এটা কাজ করে নি।


লোকেরা কেন এটিকে নিম্নচাপ দিচ্ছে, আমি কেন এটি খারাপ ধারণা তা জানতে চাই। যদি টাইপস্ক্রিপ্টটি ট্রান্সপ্লেরড ল্যাঙ্গুয়েজ হয় এবং জাভাস্ক্রিপ্টে রূপান্তরিত হয় তবে এটি কেবল আপনার ব্রাউজারের মতোই সুরক্ষিত তাই এটি কোনও ঝুঁকির মতো নয়, তাই না?
ব্যবহারকারী3505901
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.