2016-06-13 40 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/

    相关问题