কৌণিক এবং প্রকারলিপি: নাম খুঁজে পাচ্ছে না


221

আমি টাইপস্ক্রিপ্ট (সংস্করণ 1.6) সহ কৌনিক (সংস্করণ 2) ব্যবহার করছি এবং কোডটি সংকলন করার সময় আমি এই ত্রুটিগুলি পাই:

Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(1,25): Error TS2304: Cannot find name 'MapConstructor'.
    node_modules/angular2/src/core/facade/collection.d.ts(2,25): Error TS2304: Cannot find name 'SetConstructor'.
    node_modules/angular2/src/core/facade/collection.d.ts(4,27): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(4,39): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(7,9): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(8,30): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(11,43): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(12,27): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(14,23): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(15,25): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/collection.d.ts(94,41): Error TS2304: Cannot find name 'Set'.
    node_modules/angular2/src/core/facade/collection.d.ts(95,22): Error TS2304: Cannot find name 'Set'.
    node_modules/angular2/src/core/facade/collection.d.ts(96,25): Error TS2304: Cannot find name 'Set'.
    node_modules/angular2/src/core/facade/lang.d.ts(1,22): Error TS2304: Cannot find name 'BrowserNodeGlobal'.
    node_modules/angular2/src/core/facade/lang.d.ts(33,59): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/facade/promise.d.ts(1,10): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(3,14): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(8,32): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(9,38): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(10,35): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(10,93): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(11,34): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(12,32): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(12,149): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/facade/promise.d.ts(13,43): Error TS2304: Cannot find name 'Promise'.
    node_modules/angular2/src/core/linker/element_injector.d.ts(72,32): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/element_injector.d.ts(74,17): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/element_injector.d.ts(78,184): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/element_injector.d.ts(83,182): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/element_injector.d.ts(107,37): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/proto_view_factory.d.ts(27,146): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(52,144): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(76,79): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(77,73): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(94,31): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(97,18): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(100,24): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(103,142): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/linker/view.d.ts(104,160): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/render/api.d.ts(281,74): Error TS2304: Cannot find name 'Map'.
    node_modules/angular2/src/core/zone/ng_zone.d.ts(1,37): Error TS2304: Cannot find name 'Zone'.

এই কোড:

import 'reflect-metadata';
import {bootstrap, Component, CORE_DIRECTIVES, FORM_DIRECTIVES} from 'angular2/core';
@Component({
  selector: 'my-app',
  template: '<input type="text" [(ng-model)]="title" /><h1>{{title}}</h1>',
  directives: [ CORE_DIRECTIVES ]
})
class AppComponent {
  title :string;

  constructor() {
    this.title = 'hello angular 2';
  }
}
bootstrap(AppComponent);

মনে হচ্ছে যে জন্য একটি বিষয় এখানে মত github.com/angular/angular/issues/4902
ডাকাতি

নিম্নলিখিত আমদানিটি যুক্ত করার চেষ্টা করুন import {ROUTER_PROVIDERS} from 'angular2/router';আমি একই সমস্যাটি পেয়ে যাচ্ছি এবং কিছু কারণে এটি আমার জন্য এটি ঠিক করে দেয় ...?!?!
ছিনিয়ে নিন

উত্তর:


52

একটি জ্ঞাত সমস্যা: https://github.com/angular/angular/issues/4902

মূল কারণ: .d.tsটাইপস্ক্রিপ্ট দ্বারা স্পষ্টভাবে অন্তর্ভুক্ত করা ফাইলটি সংকলন লক্ষ্যমাত্রার সাথে পরিবর্তিত হয়, তাই es5জিনিসগুলি রানটাইমগুলিতে প্রকৃতপক্ষে উপস্থিত থাকলেও (যেমন ক্রোম) লক্ষ্যবস্তু করার সময় কারও কাছে আরও পরিবেষ্টিত ঘোষণা থাকা দরকার । আরোlib.d.ts


446
তাহলে সমাধান কি?
ব্যবহারকারী 233232

3
2.0.0-alpha.45 ভাল, নোড_মডিউলগুলি / কৌণিক 2 / বান্ডিল / টাইপিংগুলি / ** / *। ডি.টি.এস থেকে টাইপগুলি ব্যবহার করুন
বুটুভ

2
"কৌণিক ২": "২.০.০-বিটা ৩.৩" কাজ করে তবে বিটা ৪ এবং বিটা .5. আবার এই সমস্যাটি মনে হয়েছে, কমপক্ষে টিউটোরিয়ালের
CorayThan

3
@ রোজ আমি এটি এখনও বিটা 6 এ দেখতে পাচ্ছি তবে ব্রাউজার.ডেসটাসের রেফারেন্সটি ব্যবহার করার সময় এটি কার্যকর হয়
inki

3
হুররে! আরসি 1 এতে যোগ দিয়েছে।
রনিনকডার

105

২.০.০-বিটা .6 (২০১-0-০২-২০১ for) (ব্রেকিং পরিবর্তনের অধীনে তালিকাভুক্ত ) এর চেঞ্জলগে একটি কাজের আশপাশের উল্লেখ রয়েছে :

আপনি যদি --target = es5 ব্যবহার করেন তবে আপনাকে আপনার অ্যাপ্লিকেশনটির কোথাও একটি লাইন যুক্ত করতে হবে (উদাহরণস্বরূপ, .ts ফাইলের শীর্ষে যেখানে আপনি বুটস্ট্র্যাপ বলছেন):

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

(মনে রাখবেন যে আপনার ফাইলটি যদি নোড_মডিউলগুলির মতো একই ডিরেক্টরিতে না থাকে তবে আপনাকে সেই পথের শুরুতে এক বা একাধিক যোগ করতে হবে))

নিশ্চিত করুন যে আপনি সঠিক রেফারেন্স পথ থাকতে করতে, আমি যোগ করতে প্রয়োজন ../ এই কাজ পেতে শুরু।


3
এটি আমার জন্য ত্রুটি অনেক সংশোধন করা হয়েছে, কিন্তু আমি এখনো মত ত্রুটি পেতে TS2304: Cannot find name 'module'এবং TS2339: Property 'find' does not exist on type 'MyThing[]'.... কোন ধারণা?
mwijnands

1
আপনি যদি পুনরায় ব্যবহারের জন্য বোঝানো কোনও প্যাকেজে কৌনিক ব্যবহার করেন? এই রেফারেন্স সহ কোনও ফাইলের সাথে আমি প্যাকেজটি ব্যবহার করার চেষ্টা করেছি এমন কোনও অ্যাপ্লিকেশন টিএসসি বিল্ড টাইমে অভিযোগ করে যে এটি এই রেফারেন্সটি খুঁজে পায় না।
হ্যান্স

5
কৌনিকটিতে নতুন প্যাকেজ কাঠামোর জন্য কোনও সমাধান আছে, আমি নতুন @angular / .... কাঠামোয় একটি ব্রাউজার.ড.সেটস পাই না
আই.দেবরিজ

2
@ আই.ড্যাব্রিজ সঠিক, তারা ব্রাউজার.ডেসেটস সরিয়ে দিয়েছে। ফাইলগুলি এখন index.d.ts, এবং প্রতিটি কৌণিক উপাদানগুলির জন্য আপনার একটির প্রয়োজন, কারণ এখন প্রতিটি rc.0 এবং পরে পৃথকভাবে ইনস্টল করা আছে। আপনাকে "টাইপিংস" ইনস্টল করতে হবে - খালেদ আল-আনসারী এবং উপরের ইউথারসাইডের উত্তরগুলি দেখুন।
ভার্ন জেনসেন

1
আমি এটি যোগ করে সমাধান করেছি: /// <রেফারেন্স পাথ = "../ টাইপিংস / সূচক.ড.টিস" />
সাকো 73

80

প্রতিশ্রুতির মতো ES6 বৈশিষ্ট্যগুলি ES5 টার্গেট করার সময় সংজ্ঞায়িত হয় না। অন্যান্য লাইব্রেরি রয়েছে, তবে কোর-জেএস হল জাভাস্ক্রিপ্ট লাইব্রেরি যা অ্যাংুলার টিম ব্যবহার করে। এটিতে ES6 এর জন্য পলিফিল রয়েছে।

এই প্রশ্নটি জিজ্ঞাসা করার পরে কৌণিক 2 অনেক পরিবর্তন হয়েছে। টাইপ স্ক্রিপ্ট ২.০ তে প্রকারের ঘোষণাগুলি ব্যবহার করা আরও সহজ।

npm install -g typescript

কৌণিক 2 এ ES6 বৈশিষ্ট্যের জন্য আপনার টাইপিংয়ের দরকার নেই। কেবল টাইপস্রিপ্ট 2.0 বা উচ্চতর ব্যবহার করুন এবং এনএমপি সহ @ প্রকারের / কোর-জেএস ইনস্টল করুন:

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

তারপরে, আপনার tsconfig.json এ টাইপরুটস এবং প্রকারের বৈশিষ্ট্য যুক্ত করুন:

{
  "compilerOptions": {
    "target": "es5",
    "module": "es6",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "typeRoots": [
      "../node_modules/@types"
    ],
    "types" : [
      "core-js"
    ]
  },
  "exclude": [
    "node_modules"
  ]
}

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


1
আমি মনে করি "প্রকারগুলি" অ্যারেটিও "সংকলক অপশনগুলি" অবজেক্টের অন্তর্ভুক্ত। তবে এগুলি ছাড়াও, অনেক ধন্যবাদ, আমি এই ফট নিয়ে সারা দিন লড়াই করে যাচ্ছিলাম।
প্লেক্সাস

@ আপ্লেক্সাস ধন্যবাদ! আপনি সংকলক সম্পর্কে সঠিক। আমি উত্তর ঠিক করেছিলাম।
ডেভিড রিঙ্ক

দুর্দান্ত পোস্টের জন্য ধন্যবাদ, তবে আপনি যে ইউআরএল সরবরাহ করেছেন তা অনুসারে tsconfig.json বাড়ানো এমনকি প্রয়োজনীয় নয়, এটি সত্যিই যাইহোক কাজ করে :) কমপক্ষে এটি আমার জন্যও হয়েছিল। সুতরাং আপনার কেবলমাত্র যা করতে হবে তা হল প্রয়োজনীয় প্যাকেজটি ইনস্টল করা
ইলিয়া চেরনমর্ডিক

এমনকি typeRootsআপনার কেবলমাত্র প্রবেশিকা থাকলে তা সরিয়ে ফেলতে পারেন node_modules/@types
মরগান টোভেরি কুইলিং

জাদুর মত. @ ইলিয়া-চেরনমর্ডিক যেমন উল্লেখ করেছেন, এটি আমার জন্য যোগ না করেও কাজ করেছিলTypeRoots এবং Typestsconfig.json করতে। আমার ক্ষেত্রে আমাকে আমার গুল্প গল্প-টাইপসক্রিপ্ট ২.x প্লাগইনও আপডেট করতে হয়েছিল যা টাইপস্ক্রিপ্ট ১ এর এম্বেড করা সংস্করণ ব্যবহার করে ট্রান্সপ্লাই করে চলেছিল তবে একবার আমি আপডেট করেছি তাই আমি টাইপসক্রিপ ২ ব্যবহার করছিলাম এবং আমি @ টাইপ / কোর-জেএস পলিফিল যুক্ত করেছি সেট। অনেক ধন্যবাদ.
rscarter

49

যারা Angular2 টিউটোরিয়াল অনুসরণ করছেন তাদের জন্য angular.io কেবল স্পষ্টভাবে জন্য, এখানে কোডটি কোথায় রাখা উচিত তা সম্পর্কে এমভিডলাইটের উত্তরটির সম্প্রসারণ:

আপনার main.tsদেখতে এইরকম হওয়া উচিত:

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

import {bootstrap} from 'angular2/platform/browser'
import {AppComponent} from './app.component'
// Add all operators to Observable
import 'rxjs/Rx'

bootstrap(AppComponent);

নোট করুন যে আপনি ///ফরোয়ার্ড স্ল্যাশগুলিতে রেখে যান, সেগুলি সরাবেন না।

রেফ: https://github.com/ericmdantas/angular2-typescript-todo/blob/master/index.ts#L1


আমি ভিএস2015 এমভিসি 6 এবং অ্যাঙ্গুলার 2 বিটা.14 ব্যবহার করি, আপনি যদি রেফারেন্স লাইনটি এতে রাখেন তবে _references.jsএটি কাজ করবে না। এই উত্তরটির মতো উপাদানগুলির ভিতরে থাকা উচিত। অতিরিক্তভাবে, পথটির ../../পরিবর্তে ব্যবহার করুন ../
রনিনকডার

@ হানি আপনি কি এখনও এর আশেপাশে কোনও উপায় খুঁজে পেয়েছেন? আমি আরসি 1 এ আপগ্রেড করে চেষ্টা করব
Rots

তাই টাইপিং শেষ। আমার ধারণা আপনার আলাদাভাবে এটি ইনস্টল করতে হবে এবং আমি যখন করি তখন আমি প্রচুর অকেজো প্যাকেজ যুক্ত করে দেই। browser.d.tsযাইহোক , সমস্ত কিছু করার পরেও টাইপিং ফোল্ডারের অধীনে আর কোনও কিছু নেই । এর .jsঅধীনে কেবল ফাইল dist। নামে একটি ফাইল রয়েছে typings.d.tsতাই আমি ভেবেছিলাম এটিই নতুন, তবে এটি সমস্যার সমাধান করেনি। 'এস 6' কাজের জন্য বিল্ডিং, তবে IE অভিযোগ করে। এত 'এস 5' বিল্ড এবং কোনও টাইপিংয়ের সাথে আটকে! : /
রনিনকডার 11'16

@ হানি একটি নতুন উত্তর আছে। সম্ভবত এটি কাজ করবে? npm install -g typings typings install
রটগুলি

বিটা .১৫ এ ডাউনগ্রেড এবং .d.tsটাইপিং প্যাকেজ থেকে একই ব্যবহার করা হয়েছে । আইই 9 + প্রয়োজনীয়তা পূরণ করতে, এস 3 এর জন্য তৈরি করতে হয়েছিল।
রনিনকডার

48

আমি নিম্নলিখিত কমান্ড দিয়ে এটি ঠিক করতে সক্ষম হয়েছি

typings install es6-promise es6-collections --ambient

মনে রাখবেন typingsআপনার উপরের কমান্ডটি কাজ করতে হবে, আপনার যদি এটি না ইনস্টল করতে নীচের কমান্ডটি চালান

npm install -g typings

হালনাগাদ

টাইপিং আপডেটগুলি পড়ে না --ambientএটি --globalউপরের লাইব্রেরিগুলির সংজ্ঞা ইনস্টল করতে হবে এমন কিছু লোকের জন্যও হয়ে গেছে , কেবল নীচের কমান্ডটি ব্যবহার করুন

typings install dt~es6-promise dt~es6-collections --global --save

এটি নির্দেশ করার জন্য @ বিগারথকে ধন্যবাদ ।


9
আমার জন্য এটি ছিলtypings install dt~es6-promise dt~es6-collections --global --save
bgerth

1
@ বড়গার আমার ধারণা typingsআপডেটের কারণে এটি পরিবর্তিত হয়েছে , আমি উত্তরের সাথে আপনার সমাধান যুক্ত করব
খালেদ আল-আনসারী

টাইপগুলি ইনস্টল করুন dt ~ es6- প্রতিশ্রুতি dt ~ es6- সংগ্রহ - গ্লোবাল - সেভ আমার জন্য কাজ করে। এই সমস্যাটি পুনরাবৃত্তি হতে চলেছে ... এবং এই সমস্যাটির জন্য thx আশা করে যে এটি কোনও দিনের চেয়ে বেশি সময় ধরে কাজ করে।
স্যাম

টাইপিংগুলি dt ~ es6- প্রতিশ্রুতি dt ~ es6- সংগ্রহগুলি ইনস্টল করুন
গ্লোবাল

33

টাইপস্ক্রিপ্ট> = 2 থাকার সময় tsconfig.json এ "lib" বিকল্পটি কাজটি করবে। টাইপিংয়ের দরকার নেই। https://www.typescriptlang.org/docs/handbook/compiler-options.html

{
    "compilerOptions": {
        "target": "es5",
        "lib": ["es2016", "dom"] //or es6 instead of es2016(es7)
    }
}

হ ... আমার tsconfig.json ফাইলে "lib": ["es2016", "dom"] যুক্ত করে এটি ঠিক করা হয়েছে
মার্ভেল মো

এটা সঠিক। শুধু সতর্কতা অবলম্বন করুন কারণ ধরনের কিছু তাতে ঘোষিত হতে পারে না উপস্থিত থাকা।
আলুয়ান হাদাদাদ

@ নিলস স্টেনবিকের এখানে এটি সঠিক আছে। আমি কৌনিক 2 এবং 4 কোর্সের জন্য অনুশীলন করতে একই ত্রুটির মুখোমুখি হয়েছি। তবে, আমার লিবিব বিষয়বস্তু যেখানে কিছুটা আলাদা: "লিবিব": ["এস2015", "এস2015.iterable", "ডোম"]
বোয়াইবেড

15

Angular 2.0.0-rc.0যোগ করার জন্য node_modules/angular2/typings/browser.d.tsকাজ করবে না। প্রথমে আপনার সমাধানটিতে টাইপিংস.জসন ফাইল যুক্ত করুন , এই বিষয়বস্তু সহ:

{
    "ambientDependencies": {
        "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
    }
}

এবং তারপরে এটি package.jsonঅন্তর্ভুক্ত করতে ফাইল আপডেট করুন postinstall:

"scripts": {
    "postinstall": "typings install"
},

এখন চালান npm install

এছাড়াও এখন typingsআপনার tsconfig.jsonফাইলের ফোল্ডারটিও উপেক্ষা করা উচিত :

 "exclude": [
        "node_modules",
        "typings/main",
        "typings/main.d.ts"
    ]

হালনাগাদ

এর core-jsপরিবর্তে এখন AngularJS 2.0 ব্যবহার করছে es6-shim। আরও তথ্যের জন্য এটির দ্রুত শুরু টাইপিংস.জসন ফাইল অনুসরণ করুন ।



15

আপনি .ts ফাইলগুলির শুরুতে কোডটি যুক্ত করতে পারেন।

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

এটি আমার পক্ষে কাজ করেছে। বিশ্বব্যাপী টাইপিং ইনস্টল করার প্রয়োজন নেই। স্থির কৌণিক 2 এ চেষ্টা করা হয়েছে
গোপীনাথ শিব

আমার জন্যও কাজ করেছিলেন, কৌণিক 2.0.0 (রিলিজ) ব্যবহার করে
জোশুয়া ডেভিড

10

আমি এঙ্গুলার 2 আরসি 1 এ পেয়ে যাচ্ছিলাম। পুরানো 0.x বনাম টাইপ করে কিছু নাম পরিবর্তন করা হয়েছে s browser.d.tsফাইল ওঠেindex.d.ts

দৌড়ানোর পরে typings installআপনার স্টার্টআপ ফাইলটি সনাক্ত (যেখানে আপনি বুটস্ট্র্যাপ করবেন) এবং যুক্ত করুন:

/// <reference path="../typings/index.d.ts" /> (বা ছাড়া) ../ যদি আপনার প্রারম্ভ ফাইলটি টাইপিং ফোল্ডারের একই ফোল্ডারে থাকে তবে)

index.d.tsফাইল তালিকাতে যুক্ত করা হচ্ছেtsconfig.json কোনও কারণে কার্যকর হয়নি।

এছাড়াও, es6-shimপ্যাকেজটির প্রয়োজন হয়নি।


7

আমি typingsমডিউলটি ইনস্টল করে এটি ঠিক করতে সক্ষম হয়েছি ।

npm install -g typings
typings install

(এনজি ২.০.০-আরসি .১ ব্যবহার করে)


1
"'typyings.json' অনুপস্থিত - - (কোনও নির্ভরতা নেই)"। আমি যখন app.ts ফাইলের একই ফোল্ডারে কমান্ডটি চালিত করি তখন এটি এই ত্রুটিটি ফিরিয়ে দেয়। আমার এই টাইপিংস.জসোন ফাইলটি কোথায় পাওয়া যাবে এবং আমার কমান্ডটি কখন চালানো উচিত?
ইউলিসেস আলভেস

7

আমার একই সমস্যা ছিল এবং আমি libবিকল্পটি এটি ব্যবহার করে সমাধান করেছি tsconfig.json। যেমনটি তার উত্তরে বাসরত বলেছিলেন , .d.tsসংকলনের targetবিকল্পের উপর নির্ভর করে কোনও ফাইল স্পষ্টভাবে টাইপস্ক্রিপ্ট দ্বারা অন্তর্ভুক্ত করা হয়েছে তবে এই আচরণটি এর সাথে পরিবর্তন করা যেতে পারেlib বিকল্পটির ।

লক্ষ্যযুক্ত জেএস সংস্করণ পরিবর্তন না করে আপনি অন্তর্ভুক্ত করার জন্য অতিরিক্ত সংজ্ঞা ফাইলগুলি নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ compilerOptionsএটি টাইপসক্রিপ্ট @ ২.১ এর জন্য আমার বর্তমানের একটি অংশ এবং এটি es2015অন্য কিছু ইনস্টল না করে বৈশিষ্ট্যের জন্য সমর্থন যোগ করে :

"compilerOptions": {
    "experimentalDecorators": true,
    "lib": ["es5", "dom", "es6", "dom.iterable", "scripthost"],
    "module": "commonjs",
    "moduleResolution": "node",
    "noLib": false,
    "target": "es5",
    "types": ["node"]
}

উপলব্ধ বিকল্পগুলির সম্পূর্ণ তালিকার জন্য অফিসিয়াল ডকটি পরীক্ষা করুন

আমার কোডটিতে সমর্থন করার জন্য আমি যুক্ত "types": ["node"]এবং ইনস্টল করেছি তাও নোট করুন ।npm install @types/noderequire('some-module')


5
 typings install dt~es6-shim --save --global

এবং index.d.ts- এ সঠিক পথ যুক্ত করুন

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

@ কৌনিক -০.০.০-আরসি 3 তে চেষ্টা করা হয়েছে


যখন আমাদের একটি লাইব্রেরি প্রকল্পে .d.ts ফাইল দরকার হয় তখন এই সমাধানটি পুরোপুরি কার্যকর হয়।
রবিন ডিং

4

যদি npm install -g typings typings installএখনও সহায়তা না করে তবে এই আদেশটি কার্যকর করার আগে নোড_মডিউলগুলি এবং টাইপিং ফোল্ডারগুলি মুছুন ।


4

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

আমার ক্ষেত্রে, আমি আরসি.0 থেকে আরসি 5 এ আপডেট করেছি এই ত্রুটিটি উপস্থিত হয়েছিল।

আমার ফিক্সডটি tsconfig.json পরিবর্তন করা হয়েছিল।

{
    "compilerOptions": {
        "target": "es6", <-- It was es5
        "module": "system",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "outDir": "../wwwroot/app"
    },
    "compileOnSave": true,
    "exclude": [
        "../node_modules",
        "../typings/main"
    ]
}

1
এটি আমার সমস্যাগুলিও সমাধান করেছে। আরসি সংস্করণগুলি এসএ 6 লক্ষ্য করে মনে হচ্ছে।
ইনারি

আপনি এখন আর ইএস 5 লক্ষ্য করে নিচ্ছেন না। কিছু হলে, পরিবর্তন "lib", না "target"
আলুয়ান হাদ্দাদ

4

অ্যাপ্লিকেশনটির মূল ফোল্ডারে typing.d.ts যুক্ত করুন এবং সেখানে আপনি প্রতিবার ব্যবহার করতে চান যা ভেরিয়েবল ঘোষণা করে

declare var System: any;
declare var require: any;

এটি typing.d.ts এ ঘোষণার পরে, প্রয়োজনীয় ত্রুটি অ্যাপ্লিকেশনটিতে আসবে না ..


4

আমি কৌনিকটিতে নতুন তবে আমার জন্য সমাধানটি কেবল ইনপুট আমদানি করেই পাওয়া গেল। এটির জন্য ক্রেডিট নিতে পারে না, এটি অন্য বোর্ডে পাওয়া গেছে। আপনার যদি একই সমস্যা হয় তবে এটি একটি সাধারণ ফিক্স তবে আপনার সমস্যাগুলি আরও জটিল হলে আমি উপরের জিনিসগুলি পড়তে পারি।

মুকেশ :

শিশু উপাদানগুলির শীর্ষে আপনাকে এই জাতীয় ইনপুট আমদানি করতে হবে

import { Directive, Component, OnInit, Input } from '@angular/core';

3

আমি এটি খুব সহায়ক ডক খুঁজে পেয়েছি অ্যাঙ্গুলার 2 এর ওয়েবসাইটে । এটি অবশেষে আমাকে জিনিসগুলি সঠিকভাবে কাজ করতে দেয়, অন্যদিকে এখানে উত্তরগুলি টাইপগুলি ইনস্টল করতে আমাকে বিভিন্ন ত্রুটিতে ব্যর্থ করে। (তবে আমাকে সঠিক পথে পরিচালিত করতে সহায়তা করেছে))

এস -6-প্রতিশ্রুতি এবং এস 6-সংগ্রহগুলি অন্তর্ভুক্ত করার পরিবর্তে এতে কোর-জেএস অন্তর্ভুক্ত রয়েছে, যা আমার পক্ষে কৌশলটি করেছে ... অ্যাঙ্গুলার 2 এর মূল টিএস সংজ্ঞাগুলির সাথে কোনও বিরোধ নেই। অতিরিক্তভাবে ডকুমেন্টটি ব্যাখ্যা করেছিল যে এনপিএম ইনস্টল করার সময় কীভাবে স্বয়ংক্রিয়ভাবে এই সমস্ত ঘটতে হবে এবং কীভাবে আপনার টাইপিংস.জসন ফাইলটি সংশোধন করা যায়।


2

কৌণিক 2 আরসি 1 node_modules/angular2ডিরেক্টরিটির নতুন নামকরণ করেnode_modules/angular

যদি আপনি কোনও আউটপুট ডিরেক্টরিতে ফাইল অনুলিপি করতে একটি গলফিল ব্যবহার করেন তবে আপনার সম্ভবত এখনও আছে node_modules/angular সেখানে বসে আছেন যা সংকলক দ্বারা বাছাই করা হতে পারে এবং নিজেই নরকে ।

সুতরাং (সাবধানে) এর মধ্যে node_modulesবিটা সংস্করণগুলির মধ্যে যা আছে তা মুছুন, এবং কোনও পুরানো টাইপগুলি মুছুন এবং পুনরায় রান করুন typings install


বা বিকল্পভাবে ... 4 মাস ধরে অন্য
স্টাফের

2

ভালো কল, @ ওয়াহিডএন, আমি খুঁজে পেয়েছি যে আমার প্রয়োজন আছে

    "exclude": [
        "node_modules",
        "typings/main",
        "typings/main.d.ts"
    ]

আমার tsconfigমধ্যেও es6-shimনিজের থেকে ত্রুটি বন্ধ করতে stop


2

আপনার জেএস ফাইলে নীচের বিবৃতিটি আমদানি করবেন না।

import 'rxjs/add/operator/map';

আমি একটি প্রজেক্টকে সর্বশেষ সংস্করণে আপগ্রেড করা বন্ধ করছি, সুতরাং import './rxjs-extensions';আমার app.component.tsসাথে কৌনিক 2 টিউটোরিয়াল (আপনার প্রস্তাবিত লাইন সহ) থেকে rxjs-એક્સ્টেনশান ফাইল যুক্ত করেছি এবং মনে হয় এটি ত্রুটিগুলি মুছে ফেলেছে।
জেমস

আপনি আরো সুনির্দিষ্ট হতে অনুগ্রহ করে. কোন জেএস ফাইল? টাইপস্ক্রিপ্ট দ্বারা সংকলিত একটি? প্রধান?
মিমি_

2

গৃহীত উত্তরটি একটি browser.d.tsকার্যক্ষম স্থিরতা সরবরাহ করে না এবং অন্যান্য বেশিরভাগই "ট্রিপল-স্ল্যাশ" ওয়ার্কআরউন্ডের প্রস্তাব দেয় যা আর কার্যকর হয় না, যেহেতু অ্যাঙ্গুলার 2 সর্বশেষ আরসি দ্বারা সরানো হয়েছে এবং এভাবে আর উপলব্ধ নেই।

আমি typingsএখানে বেশ কয়েকটি সমাধানের পরামর্শ অনুসারে মডিউলটি ইনস্টল করার জন্য দৃ .়ভাবে পরামর্শ দিচ্ছি , তবুও এটি ম্যানুয়ালি বা বিশ্বব্যাপী করার প্রয়োজন নেই - এটি কেবলমাত্র আপনার প্রকল্পের জন্য এবং ভিএস ২০১৫ ইন্টারফেসের মধ্যে করার কার্যকর উপায় রয়েছে। আপনার যা করা দরকার তা এখানে:

  • যোগ typings প্রকল্পের package.json ফাইলে।
  • এক্সিকিউট / আপডেট করতে ফাইলটিতে একটি scriptব্লক যুক্ত করুনpackage.jsontypingsপ্রতিটি এনপিএম ক্রিয়াকলাপের পরে ।
  • typings.jsonপ্রকল্পের মূল ফোল্ডারে একটি ফাইল যুক্ত করুন core-js( es6-shimএটিএম এর চেয়ে সামগ্রিক ভাল ) containing

এটাই.

আপনি এই অন্যান্য এসও থ্রেডটি একবার দেখে নিতে পারেন এবং / বা অতিরিক্ত তথ্যের জন্য আমার ব্লগে এই পোস্টটি পড়তে পারেন ।


2

আমি আমার ডিভ শাখাটি আমার বর্তমান শাখায় মার্জ করার পরে এই ত্রুটিটি পাচ্ছিলাম। আমি সমস্যাটি সমাধান করতে কিছু সময় ব্যয় করেছি। আপনি নীচের চিত্রটিতে দেখতে পাচ্ছেন, কোডগুলিতে মোটেই সমস্যা নেই।

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

আমার পক্ষে একমাত্র ঠিক কাজটি হ'ল ভিএসকোড পুনরায় চালু করা


0

এখন আপনাকে এগুলি নিজেই আমদানি করতে হবে।

import 'rxjs/add/operator/retry';
import 'rxjs/add/operator/timeout';
import 'rxjs/add/operator/delay';
import 'rxjs/add/operator/map';




this.http.post(url, JSON.stringify(json), {headers: headers, timeout: 1000})

         .retry(2)

         .timeout(10000, new Error('Time out.'))

         .delay(10)

         .map((res) => res.json())
        .subscribe(
          (data) => resolve(data.json()),
          (err) => reject(err)
        );

-3

আপডেট tsconfig.json, পরিবর্তন

"target": "es5"

প্রতি

"target": "es6"

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