2016-06-13 42 views
1

我在打字稿項目具有以下佈局:配置Typescript編譯器以「查看」類型和模塊?

<work folder>/Scripts/ (project root) 
       +-- App 
        +--- subfolder1 
        +--- subfolder2 
       +-- typings 

我打開我的項目(以前有人在Visual Studio中其他人發出),並在Webstorm我打字稿編譯過程中收到錯誤。

  1. 未選取類型:錯誤:(212,23)TS2304:找不到名稱'angular'。

爲什麼類型編譯器看不到?

  • 在一些文件中應用/ subfolder2我可以看到像

    進口的messageReceiver =引用需要( 「應用/ subfolder1 /源碼」);

  • 即,相對於頂級文件夾定義並且「平行」到子文件夾2。顯然它在Visual Studio中工作,但在這裏它會產生錯誤:錯誤:(2,34)TS2307:無法找到模塊'App/subfolder1/SourceCode'。

    如果我將路徑更改爲相對路徑(../subfolder1/SourceCode),錯誤消失,但我不想以任何方式更改當前代碼,因此想告訴Webstorm編譯器從何處開始尋找所需的模塊是相對於頂級文件夾定義的。我如何做到這一點?

    +0

    看一看這樣的: http://ivanz.com/2016/06/07/how-does-typescript-discover-type-declarations-definitions-javascript/ –

    回答

    0

    看起來像你必須確保TypeScript配置爲使用classic模塊發現模式,而不是node一個在你的tsconfig.json,如果你沒有 - 也許創建一個。

    應工作假設:

    一)WebStorm已經建立了自己的解析/語義引擎的打字稿語言服務

    ......或者......

    B的頂部)WebStorm尊重tsconfig.json

    模塊分辨率的classicnode之間的區別在這裏描述,它主要歸結爲TypeScript在node_modules恩在node模式的模塊路徑不與./(相對於當前文件)開始:http://www.typescriptlang.org/docs/handbook/module-resolution.html

    也看看我的博客文章分型和發現:http://ivanz.com/2016/06/07/how-does-typescript-discover-type-declarations-definitions-javascript/

    相關問題