對於我的生活,我無法弄清楚如何讓一切正常工作。這是我目前的版本設置:VsCode,@ angular/cli和Bing Maps v8類型
- VsCode v1.13.1
- 節點v6.9.1
- NPM V5.1.0
- @角/ CLI V1.2.0
- @angular V4.0.0
- bingmaps v1.0.14
- 打字稿V2.4.1
- 分型2.1.1
從我收集的內容來看,我應該只能運行npm install --save bingmaps
,一切都應該神奇地工作。
我已經嘗試過npm/typings dev/local/global安裝和導入/聲明/等等的各種組合。但似乎沒有得到它的工作。
給出一個基本的,完全是空的樣板應用程序(ng new testproject
),並使用VsCode作爲IDE:
怎樣才能獲得Bing地圖V8作爲該項目的一部分工作很好?注:類型和編譯,特別是不擔心如何讓地圖工作/顯示/等,因爲這不是問題。
我非常想停止看到Cannot find name 'Microsoft'
編譯錯誤,並繼續進行一些實際的開發。
謝謝。
編輯:
這是技術上的問題this重複,我想,但@類型/ bingmaps是V7,V8不。做一個基本的npm install --save bingmaps
似乎是有效的(應該,據我所知)。我確實懂得了智慧,一切都與世界相符。 (至少有一次,我似乎無法重複)。
...直到我試圖運行它(ng serve -o
)。
無法運行後(當然,編譯,甚至),我然後有我Microsoft
(如let map = new Microsoft.Maps.Map(...)
)獲得愛過紅色波浪下劃線,以及在我的臉上已經拋出的編譯錯誤:
ERROR in ...../src/app/app.component.ts (12, 21): Cannot find name 'Microsoft'.
這是怎麼回事?
編輯2:
扔在declare var Microsoft: any;
到typings.d.ts
擺脫了編譯錯誤的,但仍然沒有智能感知。
編輯3:
所以,好玩的時候。 declare var Microsoft: any;
加入到typings.d.ts
解決了編譯(如上所述)。但是:如果我在/// <reference ... />
中也輸入/// <reference ... />
,那麼編譯就會中斷。但是,我收到了智能感知。
奇怪的是,如果我開始服務(ng serve -o
),沒有/// <reference ... />
(所以編譯罰款),然後而它運行加入裁判,我去運行它,並獲得智能。我應該停止服務,當然,我需要刪除參考,開始服務,然後可以把它放回去。
我不確定爲什麼看起來這些東西是相互排斥在一起的。
編輯4:
正如我螺旋陷入瘋狂,declare var Microsoft: any;
在typings.d.ts
解決了組件編譯問題。但是,在另一個文件中提到Microsoft
(即我的服務),它突然不知道我在說什麼。
如果有人有任何想法,你可以找到我輕輕地哭泣到我的枕頭。
編輯5:
對於大聲喊叫。好吧,我目前在declare var Microsoft: any
我typings.d.ts
這似乎是服用任何照顧我component.ts Microsoft
提到,而我在我的service.ts一個/// <reference path="..." />
停止是從在Microsoft
色變投擲...
@types適用於v7,而我正在使用v8。我目前與我第五次編輯中相當奇怪的設置一起生活。它的工作,現在必須足夠好。 – Krenom