我正嘗試在我的項目中使用@blueprintjs/core
庫。但是,當我編譯我的代碼時,出現如下許多錯誤:安裝Blueprint時環境上下文中不允許出現初始化錯誤
node_modules/@blueprintjs/core/dist/common/classes.d.ts(4,30):
error TS1039: Initializers are not allowed in ambient contexts.
發生了什麼事?我究竟做錯了什麼?
我正嘗試在我的項目中使用@blueprintjs/core
庫。但是,當我編譯我的代碼時,出現如下許多錯誤:安裝Blueprint時環境上下文中不允許出現初始化錯誤
node_modules/@blueprintjs/core/dist/common/classes.d.ts(4,30):
error TS1039: Initializers are not allowed in ambient contexts.
發生了什麼事?我究竟做錯了什麼?
從@blueprintjs/[email protected]
開始,Blueprint現在使用TypeScript 2.1進行編譯。通過這個新版本的TypeScript,初始化器被添加到常量的發射類型中。
所以之前,發射classes.d.ts
的線路是這樣的:
export declare const ACTIVE: string;
現在看起來是這樣的,包括一個初始化:
export declare const ACTIVE = "pt-active";
在申報文件中這一新的語法使得舊版本的編譯器不高興。 要使錯誤消失,您需要確保至少使用TypeScript 2.1編譯項目。
我有這個問題,但對我來說,更新本地(及全球)打字稿包沒不解決問題。幸運的是,我碰到下面的文章Which version of TypeScript is Visual Studio Using?
來概括地說,雖然我曾在.csproj
文件更新到打字稿2.2時,Visual Studio仍引用2.0版。我希望這能幫助有類似問題的其他人。
對於windows,要解決此問題,最短路徑是通過安裝程序安裝Typescript。
https://www.microsoft.com/en-us/download/details.aspx?id=48593
刪除您的節點模塊文件夾,然後做一個乾淨的安裝。