簡體   English   中英

Typescript 2.0 @types不會自動引用

[英]Typescript 2.0 @types not automatically referenced

使用TS 2.0 Beta我無法使新的@types工作。 在我的代碼中的某個地方:

import * as angular from 'angular';

TS 2.0 @types:

npm install --save @types/angular
tsc

編譯器找不到d.ts文件:錯誤:(1,26)TS2307:找不到模塊'angular'。

使用打字工具和全局(環境之前)依賴關系的當前(舊)方法沒有問題。

我希望d.ts查找能夠自動使用2.0,如下所述:

https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

也許我錯過了什么?

我和另一個文件有同樣的問題 - tsc找不到node_modules / @ types / es6-shim。 明確地向tsconfig.json添加類型有助於:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "module": "commonjs",
    "noEmit": true,
    "types":["es6-shim"],
    "sourceMap": true,
    "target": "es5"
  }
}

我在Visual Studio Code中看到的是仍然需要三斜杠參考。 tsconfig.json中的類型編譯器選項將解決編譯錯誤,但是VS Code沒有解決此問題,並且當您在編輯器中打開文件時它將顯示錯誤。

以下是節點的三斜杠參考示例:

/// <reference path="../node_modules/@types/node/index.d.ts" />

三斜杠參考可以在一個單獨的文件中,它將全面應用於項目中的其他文件,但它必須與tsconfig.json文件位於同一文件夾中。

我遇到了同樣的問題,它可以通過cli, tsc app.ts成功構建,但是tsc app.ts構建會失敗。 在我的情況下,我需要確保gulp模塊使用最新的打字稿版本進行編譯,而不是與模塊捆綁在一起的版本,即tsify ,傳遞參考更新的編譯器: .plugin(tsify, {typescript: require('typescript')})

不確定這是否適用於您的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM