2016-12-23 13 views
1

ionic 1を使用していて、TypeScriptに変更することをお勧めします。もちろん、私はionic-nativeの機能を使用したいと思います。TypeScript tricky module not foundエラー

  • 私がしようとした:import {Calendar} from 'ionic-native';
  • 私が得た:[ts] Cannot find module '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にそれを置けば、それは作品ではないんです。私は、無効なJSONを置くとき

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

それ、それが動作(行方不明"に注意してください):

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

任意のアイデア?

+1

親愛なるdownvoter、downvotingの代わりにこの質問に答えている可能性があります。 – mnewmedia

答えて

1

私は、ちょうどすべての作品瞬時に、

"module": "commonjs", 

とwhooopsに置き換えTSチュートリアルに続き、ちょうどtsconfig.jsonをコピーしますが、モジュールのさまざまな種類があると私は

"module": "system", 

を持っていました私が今までに望んだように。

関連する問題