[英]TypeScript Compiler looking at external directory for node_modules
[英]Configuring Typescript Compiler to “see” typings and modules?
我在typescript中有一个具有以下布局的项目:
<work folder>/Scripts/ (project root)
+-- App
+--- subfolder1
+--- subfolder2
+-- typings
我打开我的项目(以前由Visual Studio中的其他人制作)和Webstorm我在TypeScript编译期间遇到错误。
为什么编译器看不到打字?
在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.