gpt4 book ai didi

TypeScript tricky module not found 错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:30:09 25 4
gpt4 key购买 nike

我正在使用 ionic 1,我认为改用 TypeScript 可能是个好主意。那么我当然想使用 ionic-native 功能。

  • 我尝试:从'ionic-native'导入{Calendar};
  • 但我得到:[ts] 找不到模块“ionic-native”

所以去阅读文档 How TypeScript resolves modules .文档说它试图在以下路径中找到模块:

1. /root/node_modules/moduleB.ts
2. /root/node_modules/moduleB.tsx
3. /root/node_modules/moduleB.d.ts
4. /root/node_modules/moduleB/package.json (if it specifies a "typings" property)
5. /root/node_modules/moduleB/index.ts
6. /root/node_modules/moduleB/index.tsx
7. /root/node_modules/moduleB/index.d.ts

所以我查看了我的 node_folders 并查看一条路径是否匹配:

node_modules
- ionic-native
-- dist
-- package.json

所以我认为数字 4. 应该匹配,因为 package.json 包含:

"typings": "dist/es5/index.d.ts

但它不起作用。

如果我改为:

import {Calendar} from '../../../node_modules/ionic-native/dist/es5/index';

它有效,但我不想在所有文件中都这样做,那太复杂了:/


因为我想继续前进,所以我在 TypeScript 文档中搜索了另一种方式。我还了解到您可以在 tsconfig.json

中放置一个 paths property for modules

但有趣的是,如果我输入正确的 json,它就不起作用:

"paths": {
"ionic-native": ["node_modules/ionic-native/dist/es5/index.d.ts"]
}

当我在其中放入无效的 json 时,它起作用了(注意缺少的 "):

"paths": {
ionic-native: ["node_modules/ionic-native/dist/es5/index.d.ts"]
}

有什么想法吗?

最佳答案

我遵循了 TS 教程,只是复制了 tsconfig.json,但是有不同类型的模块,我有

"module": "system",

只是替换成

"module": "commonjs",

哇哦,瞬间一切正常,就像我想要的那样。

关于TypeScript tricky module not found 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com