我按照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"
]
附加问题:类型应该是开发依赖吗?
最佳答案
tsconfig文件中的"types"
部分应该没有必要,因为您没有meteor-typings目录(“ meteor-typings”是一种古老的处理方式)。
由于@types
包只是.d.ts
文件,因此无论它们是标准依赖还是开发依赖都无关紧要。就个人而言,我将其保留为非开发人员。
要解决您遇到的问题,请在顶层添加一个名为typings.d.ts
的文件,并在其中添加对要引用的软件包的引用,例如:/// <reference types="@types/meteor" />
您可能需要添加react类型,或者由于jsx = react定义而可能会自动添加它们,但是在添加上述内容后,它似乎可以正常运行。
打字稿文档建议@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 - 带 meteor 1.5的 typescript 设置-找不到模块 meteor / meteor ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45442743/