我跟着the blog post,但那不起作用。这是我的提交:https://github.com/Falieson/react15-meteor1.5/commit/b0c5ccd4f940d980a227789e151c9b1ffb8f71cf
错误
$ meteor
[[[[[ ~/Private/ReactMeteorExample ]]]]]
=> Started proxy.
client/index.tsx (2, 24): Cannot find module 'meteor/meteor'.
=> Started MongoDB.
=> Started your app.
安装的
$ meteor add barbatus:typescript
$ meteor npm install --save @types/meteor @types/react
tsconfig.json
"compilerOptions": {
"allowJs": false,
"alwaysStrict": true,
"jsx": "react",
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": false,
"sourceMap": true,
"strictNullChecks": false,
"target": "es5",
"types": [
"meteor-typings"
]
补充问题:打字是不是依赖关系?
答案 0 :(得分:2)
tsconfig文件中的"types"
部分应该是不必要的,因为你没有meteor-typings目录(' meteor-typings'是一种古老的做事方式)。
由于@types
个包只是.d.ts
个文件,因此无论它们是标准还是开发依赖项都不重要。就个人而言,我将他们留作非开发者。
要解决您遇到的问题,请在顶级域名typings.d.ts
添加一个文件,并在其中添加对您要引用的包的引用,例如:
/// <reference types="@types/meteor" />
您可能需要添加反应类型,或者由于jsx = react定义,它们可能会自动添加,但在我添加上述内容之后似乎没有任何错误。
打字稿文档建议自动包含@types
个文件,但我不知道他们为什么不这样做。当我删除&#34;类型&#34;它们时,它们没有被拾取。上方。
另一种解决方案是在tsconfig.json文件中明确指定类型,例如:
...
"target": "es5",
"types": [ "meteor" ]
这里是TS文档的相关位:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types
本节首先说&#39;默认情况下,所有可见的“@types”包都包含在您的编辑中。&#39;但接着解释&#34; typeRoots&#34;和&#34;类型&#34;可以在tsconfig.json
文件中配置。