我关注了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"
]
附加问题:类型应该是开发依赖项吗?
最佳答案
"types"
tsconfig 文件中的 部分应该是不必要的,因为您没有meteor-typings 目录(“meteor-typings”是一种旧的处理方式)。
作为@types
套餐只有.d.ts
文件无论它们是标准依赖项还是开发依赖项都无关紧要。就我个人而言,我会将它们保留为非开发人员。
要解决您遇到的问题,请在顶层添加一个名为 typings.d.ts
的文件。并在其中添加对您要引用的包的引用,例如:
/// <reference types="@types/meteor" />
您可能需要添加 react 类型,或者由于 jsx = React 定义,它们可能会自动添加,但在我添加上述内容后,它似乎运行没有任何错误。
typescript 文档表明 @types
文件应该自动包含,但我不知道为什么不包含。当我删除上面的“类型”时,它们没有被拾取。
另一种解决方案是在 tsconfig.json 文件中显式指定类型,例如:
...
"target": "es5",
"types": [ "meteor" ]
以下是 TS 文档的相关部分:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types
本节首先说“默认情况下,所有可见的“@types”包都包含在您的编译中。”但继续解释如何在 tsconfig.json
中配置“typeRoots”和“types”文件。
关于javascript - Typescript 设置 w/Meteor 1.5 - 找不到模块 Meteor/meteor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442743/