配置Typescript Compiler以“查看”类型和模块?

时间:2016-06-13 14:13:39

标签: angularjs typescript webstorm

我在打字稿中有一个具有以下布局的项目:

edit/${title}

我打开我的项目(之前由Visual Studio中的其他人制作)和Webstorm中我在TypeScript编译期间遇到错误。

  1. 未选择输入:错误:(212,23)TS2304:找不到名称'angular'。
  2. 为什么编译器看不到打字?

    1. 在App / subfolder2的某些文件中,我可以看到像

      这样的引用

      导入MessageReceiver = require(“App / subfolder1 / SourceCode”);

    2. 即相对于顶级文件夹定义,与子文件夹2“并行”。显然它在Visual Studio中工作,但在这里它会产生错误:错误:(2,34)TS2307:找不到模块'App / subfolder1 / SourceCode'。

      如果我将路径更改为相对路径(../subfolder1/SourceCode),则错误消失,但我不想以任何方式更改当前代码,因此想要告诉Webstorm的编译器从哪里开始查找所需的相对于顶级文件夹定义的模块。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

看起来您必须确保将TypeScript配置为在classic中使用node模块发现模式而不是tsconfig.json,如果您没有{ - 1}},则可能需要创建一。

应该假设:

a)WebStorm在TypeScript语言服务之上构建了解析/语义引擎

......或......

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/