我正在使用ionic 1并认为改用 TypeScript 可能是个好主意。然后我当然想使用这些ionic-native功能。
import {Calendar} from 'ionic-native'; [ts] Cannot find module 'ionic-native'。所以去阅读文档TypeScript 如何解析模块。Docs 说它试图在以下路径中定位模块:
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
Run Code Online (Sandbox Code Playgroud)
所以我查看了我的 node_folders 并查看是否有一条路径匹配:
node_modules
- ionic-native
-- dist
-- package.json
Run Code Online (Sandbox Code Playgroud)
所以我认为数字 4. 应该匹配,因为 package.json 包含:
"typings": "dist/es5/index.d.ts
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
如果我改为:
import {Calendar} from '../../../node_modules/ionic-native/dist/es5/index';
Run Code Online (Sandbox Code Playgroud)
它有效,但我不想在所有文件中都这样做,这太复杂了:/
因为我想继续前进,所以我在 TypeScript 文档中搜索了另一种方式。我也可以读到你可以paths property for modules输入tsconfig.json
但有趣的是,如果我输入正确的 json,它就不起作用: …