繁体   English   中英

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

[英]Configuring Typescript Compiler to “see” typings and modules?

我在typescript中有一个具有以下布局的项目:

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

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

  1. 未记录输入:错误:(212,23)TS2304:找不到名称'angular'。

为什么编译器看不到打字?

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

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

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

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

看起来你必须确保将TypeScript配置为在tsconfig.json使用classic模块发现模式而不是node 1,如果没有,可以创建一个。

应该假设:

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

... 要么 ...

b)WebStorm尊重tsconfig.json

这里描述了classic模块分辨率和node模块分辨率之间的差异,它主要归结为在node模式下查看node_modules TypeScript,用于不以./开头的模块路径(相对于当前文件): http:// www .typescriptlang.org /文档/手册/模块resolution.html

另请查看我关于打字和发现的博文: http//ivanz.com/2016/06/07/how-does-typescript-discover-type-declarations-definitions-javascript/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM