[英]Error importing node modules in TypeScript
今天早上我有一个问题使我发疯。 我将解释问题,然后在下面提供我的答案(以便其他遇到此问题的人可以早日找到解决方案)。
只需发出以下命令,即可很容易地复制问题:
tsd query react --action install
mkdir src
echo "import React = require('react');" > src/foo.ts
我还在src
包含了以下tsconfig.json
文件:
{
"version": "1.6.2",
"compilerOptions": {
"outDir": "./tsdir",
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": true,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true
},
"files": [
"foo.ts"
]
}
如果我尝试通过简单地在src
运行tsc
(版本1.6.2)命令来编译它, tsc
得到:
foo.ts(1,24): error TS2307: Cannot find module 'react'.
我在这里感到困惑的是我已经用tsd
安装了react
绑定,但是当我运行tsc
,出现了这个错误。 看来我做对了所有事情,为什么会出错?
所以我最终想通了,是我需要明确列入typings
在我的列表文件"files"
,即,
{
"version": "1.6.2",
"compilerOptions": {
...
},
"files": [
"foo.ts",
"../typings/react/react.d.ts"
]
}
换句话说,我必须包括typings
的明确文件"files"
。 我真的不知道为什么。 我以为tsc
很聪明,可以自己去寻找它们。
如果有一个更好的解决方案,而不必在"files"
明确列出所有.d.ts
文件,那我就.d.ts
。 但是我只想指出,这至少是一种解决方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.