Açısal ve Daktilo Yazısı: Adlar bulunamıyor


221

Açısal (sürüm 2) TypeScript (sürüm 1.6) ile kullanıyorum ve kodu derlerken bu hataları alıyorum:

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'.

Bu kod:

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);

bunun için bir sorun var gibi görünüyor burada github.com/angular/angular/issues/4902
rob

Aşağıdaki içe aktarma eklemeyi deneyin import {ROUTER_PROVIDERS} from 'angular2/router';Aynı sorunu alıyorum ve bazı nedenlerden dolayı bu benim için düzeltir ...?!?
soymak

Yanıtlar:


52

Bilinen bir sorun: https://github.com/angular/angular/issues/4902

Temel neden: .d.tsTypeScript tarafından örtük olarak dahil edilen dosya derleme hedefine göre değişir, bu nedenle es5çalışma zamanlarında (ör. Krom) gerçekte mevcut olsa bile , hedefleme sırasında daha fazla ortam bildirimi olması gerekir . Daha fazlalib.d.ts


446
Peki çözüm nedir?
user233232

3
2.0.0-alpha.45 iyi, node_modules / angular2 / bundles / typings / ** / *. D.ts'den yazılar kullanın
Butuv 14:15

2
"angular2": "2.0.0-beta.3" çalışıyor, ancak beta.4 ve beta.5, en azından projenizi eğiticide olduğu
CorayThan

3
@Roj Hala beta 6'da görüyorum ama browser.d.ts referansını kullanırken işe yarıyor
inki

3
Yaşasın! rc1 katıldı.
RoninCoder

105

Bir iş çevresinde için değişiklikler bahsedilen bulunmaktadır 2.0.0-beta.6 (2016/02/11) (açan değişiklikler altında listelenen):

--Target = es5 kullanırsanız, uygulamanızın herhangi bir yerine bir satır eklemeniz gerekir (örneğin, bootstrap olarak adlandırdığınız .ts dosyasının üstüne):

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

(Dosyanız node_modules ile aynı dizinde değilse, bu yolun başına bir veya daha fazla ../ eklemeniz gerektiğini unutmayın.)

doğru başvuru yolu olduğundan emin olun, ben bu çalışmayı başlatmak için ../ eklemek gerekiyordu .


3
Bu benim için bir çok hatayı düzeltti, ama hala TS2304: Cannot find name 'module've TS2339: Property 'find' does not exist on type 'MyThing[]'.... gibi herhangi bir hata alıyorum.
mwijnands

1
Yeniden kullanım amaçlı bir pakette açısal kullanırsanız ne olur? Bu başvuruyu içeren bir dosya içeren bir paketi kullanmaya çalıştığım herhangi bir uygulama, tsc derleme zamanında bu başvuruyu bulamadığından şikayet ediyor.
Hans

5
Angular'da yeni paket yapısı için bir çözüm var mı, yeni @angular / .... yapısında bir tarayıcı bulamıyorum. Dts.
I.devries

2
@ I.devries Doğru, browser.d.ts kaldırıldı. Dosyalar artık index.d.ts'dir ve her biri rc.0 ve sonraki sürümlerinde ayrı ayrı yüklendiği için her bir açısal bileşen için bir taneye ihtiyacınız vardır. Ayrıca "yazmaları" yüklemeniz gerekir - Khaled Al-Ansari ve yukarıdaki UtherSide yanıtlarına bakın.
Vern Jensen

1
Şunu ekleyerek çözdüm: /// <başvuru yolu = "../ yazımları / index.d.ts" />
Sako73 31:16

80

ES5'i hedeflerken vaatler gibi ES6 özellikleri tanımlanmamıştır. Başka kütüphaneler de vardır, ancak core-js Açısal ekibin kullandığı javascript kütüphanesidir. ES6 için poli dolgular içerir.

Bu soru sorulduğundan beri açısal 2 çok değişti. Tür bildirimlerinin daktilo ile yazılması çok daha kolaydır.

npm install -g typescript

Açısal 2'deki ES6 özellikleri için Tiplere ihtiyacınız yoktur. Sadece typcript 2.0 veya üstünü kullanın ve npm ile @ types / core-js yükleyin:

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

Ardından, tsconfig.json'unuza TypeRoots ve Tür özniteliklerini ekleyin:

{
  "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"
  ]
}

Bu, diğer yanıtlarda açıklandığı gibi, Tipings'i kullanmaktan çok daha kolaydır. Daha fazla bilgi için Microsoft'un blog gönderisine bakın: Patlama: Geleceğin Dosyalarının Geleceği


1
"Türleri" dizi de "compilerOptions" Nesnesi'ne ait olduğunu düşünüyorum. Ama bunun dışında, çok teşekkürler, bütün gün bu fot ile mücadele ediyordum.
pleksus

@plexus Teşekkürler! Derleyici seçenekleri hakkında haklısınız. Cevabı düzelttim.
David Rinck

Harika gönderi için teşekkürler, ancak sağladığınız URL'ye göre tsconfig.json'u artırmak için bile gerekli değil, sadece gerçekten işe yarıyor :) En azından benim için yaptı. Yapmanız gereken tek şey gerekli paketi kurmak
Ilya Chernomordik

Sahip typeRootsolduğunuz tek giriş ise kaldırabilirsiniz node_modules/@types.
Morgan Touverey

Bir cazibe gibi. İlya-chernomordik bahsettiği @ gibi, bu da katkısı olmadan benim için çalıştı TypeRootsve Typestsconfig.json için. Benim durumumda da TypeScript 1 kullanarak ve gömülü sürümünü kullanarak aktarılan Gulp gulp-typescript 2.x eklentimi güncellemem gerekti, ancak güncelledikten sonra TypeScript 2'yi kullandım ve @ types / core-js polyfill'i ekledim Ayarlamak. Çok teşekkürler.
rscarter

49

Angular2 eğitimini izleyenlere angular.iosadece açık olmak için, mvdluit'in tam olarak kodu nereye koyacağına dair cevabının bir uzantısı:

Şöyle main.tsgörünmelisin:

/// <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);

///Eğik çizgilere bıraktığınızı unutmayın, bunları kaldırmayın.

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


VS2015 MVC6 ve Angular2 beta.14 kullanıyorum, referans çizgisini yerleştirirseniz _references.jsçalışmaz. Bu cevabın önerdiği gibi bileşenin içinde olması gerekir. Ayrıca, yol ../../yerine kullanın ../.
RoninCoder

@Hani henüz bu konuda bir yol buldun mu? Ben rc1 yükseltme ve deneyeceğim
Kökler

Yani yazımlar gitti. Sanırım bunu ayrı olarak yüklemeniz gerekecek ve yaptığım zaman da işe yaramaz paketler ekliyorum. Her neyse, bunların hepsini yaptıktan sonra bile, browser.d.tstypings klasörü altında artık yok . Sadece .jsaltındaki dosyalar dist. Adında bir dosya var typings.d.tsbu yüzden yeni olduğunu düşündüm, ama sorunu çözmedi. 'Es6' için bina çalışıyor, ancak IE şikayet ediyor. Yani 'es5' yapı ile sıkışmış ve hiçbir daktilo! : /
RoninCoder

@Hani Yeni bir cevap var. Belki de işe yarayacak mı? npm install -g typings typings install
Kökler

Beta.15 sürümüne düşürüldü ve aynı .d.tstipler paketinden kullanıldı. Ayrıca IE9 + ihtiyacını karşılamak için, es3 için inşa etmek zorunda kaldı.
RoninCoder

48

Aşağıdaki komutla bu sorunu çözebildim

typings install es6-promise es6-collections --ambient

typingsYukarıdaki komutun çalışmasını sağlamanız gerektiğini unutmayın; eğer yoksa, yüklemek için aşağıdaki komutu çalıştırın

npm install -g typings

GÜNCELLEME

Güncelleme güncellemesi okumaz , yukarıdaki kütüphanelerin tanımlarını yüklemeniz gereken bazı insanlar için de --ambientoldu --global, sadece aşağıdaki komutu kullanın

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

@Bgerth'e bunu işaret ettiği için teşekkürler .


9
Benim için oldutypings install dt~es6-promise dt~es6-collections --global --save
bgerth

1
@bgerth Sanırım typingsgüncelleme yüzünden değişti , cevabınıza çözümünüzü ekleyeceğim
Khaled Al-Ansari

yazımlarını yüklemek dt ~ es6-promise dt ~ es6-collections --global --save benim için çalıştı. Bu sorun yinelenen ve aralıklı ... Bu düzeltme için thx bir günden daha uzun çalışmasını umuyoruz.
Sam

yazmaları yüklemek dt ~ es6-promise dt ~ es6-collections --global --save benim için de çalıştı
Rikku121

33

Typescript> = 2 olduğunda tsconfig.json içindeki "lib" seçeneği işi yapar. Daktiloya gerek yok. https://www.typescriptlang.org/docs/handbook/compiler-options.html

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

Evet ... "lib" ekleniyor: ["es2016", "dom"] benim tsconfig.json dosyasına düzeltti
Marvel Moe

Doğru. Türlerinden bazıları bu belgedeki ilan çünkü sadece dikkatli değil mevcut.
Aluan Haddad

@Niels Steenbeek burada doğru. Açısal 2 ve 4 kursları için de aynı hatayla karşılaştım. Ancak, benim lib içeriği biraz farklı yerlerde: "lib": ["es2015", "es2015.iterable", "dom"]
BoiseBaked

15

İçin Angular 2.0.0-rc.0ekleyerek node_modules/angular2/typings/browser.d.tsçalışmayacak. Öncelikle bu içerikle typings.json dosyasını çözümünüze ekleyin :

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

Ve sonra package.jsondosyayı içerecek şekilde güncelleyin postinstall:

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

Şimdi koş npm install

Ayrıca şimdi dosyanızdaki typingsklasörü de göz ardı etmelisiniz tsconfig.json:

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

Güncelleme

Şimdi AngularJS 2.0 core-jsyerine kullanıyor es6-shim. Daha fazla bilgi için hızlı başlangıç typings.json dosyasını takip edin .



15

kodu .ts dosyalarının başına ekleyebilirsiniz.

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

Bu benim için çalıştı. Yazmaları global olarak kurmanıza gerek yoktur. Dengeli açısal 2 üzerinde çalıştı.
Gopinath Shiva

Angular 2.0.0 (sürüm) kullanarak benim için de
çalıştım

10

Bunu Angular 2 rc1'de alıyordum. Eski 0.x'e karşı v1 yazısıyla değiştirilen bazı isimler çıkıyor. browser.d.tsdosyalar halineindex.d.ts .

Koşu sonrası typings install başlangıç ​​dosyanızı bulun (önyükleme yaptığınız yerde) ve ekleyin:

/// <reference path="../typings/index.d.ts" /> (veya olmadan ../ başlangıç ​​dosyanız daktilo klasörü ile aynı klasörde değilse)

İçindeki index.d.tsdosya listesine eklemetsconfig.json nedense işe yaramadı.

Ayrıca, es6-shimpakete ihtiyaç yoktu.


7

typingsModülü kurarak bunu çözebildim.

npm install -g typings
typings install

(Ng 2.0.0-rc.1 kullanarak)


1
"'typyings.json' eksik. - (Bağımlılık yok)". Komutu app.ts dosyasının aynı klasöründe çalıştırdığımda bu hatayı döndürür. Bu typings.json dosyasını nerede bulabilirim ve komutu ne zaman çalıştırmalıyım?
Ulysses Alves

7

Aynı sorunu yaşadım ve içindeki libseçeneği kullanarak çözdüm tsconfig.json. Basarat'ın cevabında söylediği gibi , bir .d.tsdosya derleme targetseçeneğine bağlı olarak TypeScript tarafından örtülü olarak dahil edilir, ancak bu davranışlib seçenekle .

Hedeflenecek JS sürümünü değiştirmeden eklenecek ek tanım dosyaları belirtebilirsiniz. Örnekler için bu, compilerOptionsTypcript@2.1 akımımın bir parçasıdır ve es2015başka bir şey yüklemeden özellikler için destek ekler :

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

Mevcut seçeneklerin tam listesi için resmi dokümanı kontrol edin .

Ayrıca kodumu desteklemek için eklediğim "types": ["node"]ve kurduğumu unutmayın .npm install @types/noderequire('some-module')


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

ve index.d.ts dosyasına doğru yolu ekleyin

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

@ Angular-2.0.0-rc3 üzerinde denendi


Bir kütüphane projesinde .d.ts dosyasına ihtiyacımız olduğunda bu çözüm mükemmel çalışır.
Robin Ding

4

Eğer npm install -g typings typings installhala silme yardımcı olmuyor node_modules ve typings bu komutu çalıştırmadan önce klasörler.


4

Bu herkesin nasıl farklı bir şeyler yapmaya çalıştığını düşünüyor. Bu sistemlerin hala son versiyondan çok uzak olduğuna inanıyorum.

Benim durumumda, rc.0'dan rc.5'e güncelledim, bu hata ortaya çıktı.

Benim sabit tsconfig.json değiştirmek oldu.

{
    "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
Bu da sorunlarımı çözdü. RC sürümleri es6'yı hedefliyor gibi görünüyor.
Inari

Artık ES5'i hedeflemiyorsunuz. Eğer bir şey varsa, değiştir "lib", değil "target".
Aluan Haddad

4

uygulamanın ana klasörüne typing.d.ts ekleyin ve orada her seferinde kullanmak istediğiniz değişkeni bildirin

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

typing.d.ts dosyasında bildirdikten sonra, gereksinim hatası uygulamada gelmez.


4

Angular'da yeniyim ama benim için çözüm sadece Input'u içe aktararak bulundu. Bunun için kredi alamıyorum, başka bir tahtada buldum. Aynı sorunu yaşıyorsanız bu basit bir düzeltmedir, ancak sorunlarınız daha karmaşıksa yukarıdaki şeyleri okurdum.

Mukesh :

alt bileşenin en üstüne böyle bir girdi almanız gerekir

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

3

Bu çok yardımcı dokümanı buldum Angular 2'nin web sitesinde . Sonunda işleri düzgün bir şekilde çalışmama izin verirken, diğer cevaplar yazımları yüklemek için çeşitli hatalarla beni başarısızlığa uğrattı. (Ama beni doğru yöne yönlendirdi.)

Es6-promise ve es6-collections dahil etmek yerine, benim için hile yapan core-js içerir ... Angular2'nin çekirdek ts tanımlarıyla çelişki yok. Ayrıca belge, NPM'yi yüklerken tüm bunların otomatik olarak nasıl yapılacağını ve typings.json dosyanızı nasıl değiştireceğinizi açıkladı.


2

Angular 2 RC1 node_modules/angular2dizini şu şekilde değiştirdi:node_modules/angular .

Dosyaları bir çıktı dizinine kopyalamak için gulpfile kullanıyorsanız, muhtemelen hala node_modules/angular orada oturuyor ve derleyici tarafından alınabilir ve cehennemden kafa karıştırıyor olabilirsiniz.

Bu yüzden (dikkatlice) node_modulesbeta sürümleri için olanı silin ve eski yazıları silin ve yeniden çalıştırın typings install.


veya alternatif olarak ... 4 ay boyunca başka şeyler üzerinde çalışın ve son sürümün sıfırdan başlamasını bekleyin (yaptığım şey budur)
Simon_Weaver

2

İyi çağrı, @VahidN, ihtiyacım olduğunu buldum

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

Benim tsconfigde hataları es6-shimkendinden durdurmak için


2

Aşağıdaki ifadeyi JS dosyanıza içe aktarın.

import 'rxjs/add/operator/map';

Öyle eklenen son sürümüne bir proje, yükseltme kapalı atıyorum import './rxjs-extensions';kardeşime karşı app.component.ts(sizin önerilen hattı dahil) angular2 öğreticisindeki rxjs-uzantıları dosyasıyla ve bu hataları kaldırıldı gibi görünüyor.
James

Lütfen daha açıklayıcı mısınız? Hangi JS dosyası? daktilo ile derlenen? ana?
mm_

2

Kabul edilen cevap uygun bir düzeltme sağlamaz ve diğerlerinin çoğu browser.d.ts, Angular2 en son RC'leri tarafından kaldırıldığından ve artık kullanılamadığından artık geçerli olmayan "üçlü eğik çizgiler" geçici çözümünü önerir.

typingsModülü burada birkaç çözüm tarafından önerildiği gibi kurmanızı şiddetle tavsiye ederim , ancak manuel veya global olarak yapmanız gerekmez - bunu sadece projeniz ve VS2015 arayüzü içinde yapmanın etkili bir yolu vardır. Yapmanız gerekenler:

  • typingsprojenin package.json dosyasına ekleyin .
  • her NPM eyleminden sonra yürütülecek / güncellenecek dosyaya bir scriptblok ekleyin .package.jsontypings
  • typings.jsonprojenin kök klasörüne bir başvuru içeren core-js(genel olarak es6-shimatm'den daha iyi ) bir dosya ekleyin .

Bu kadar.

Ayrıca, bu diğer SO iş parçacığına ve / veya ek ayrıntılar için blogumdaki bu yazıyı okuyabilirsiniz .


2

Geliştirici dalımı mevcut dalımla birleştirdikten sonra bu hatayı alıyordum. Sorunu çözmek için bir süre geçirdim. Aşağıdaki resimde görebileceğiniz gibi, kodlarda hiç bir sorun yoktur.

resim açıklamasını buraya girin

Bu yüzden benim için çalışan tek düzeltme VSCode'u yeniden başlatmak


0

Şimdi bunları manuel olarak içe aktarmalısınız.

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

Güncelle tsconfig.json, değiştir

"target": "es5"

için

"target": "es6"

Bu, JavaScript çıktınızın eski tarayıcılarla uyumlu olmamasına neden olabilir.
Tom Robinson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.