2016-12-23 3 views
1

ionic 1을 사용하고 있으며 TypeScript로 변경하는 것이 좋습니다. 그럼 물론 ionic-native 기능을 사용하고 싶습니다. TypeScript 까다로운 모듈을 찾을 수 없음 오류

  • 내가 시도한 : import {Calendar} from 'ionic-native';
  • 그러나 나는 가지고 : [ts] Cannot find module 'ionic-native'합니다.

그래서 How TypeScript resolves modules 문서를 읽었습니다. 이후,

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

그래서 나는 4 번이 일치해야한다고 생각 : 하나 개의 경로가 일치하는 경우

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 들여다 볼 : 문서 도구는 다음 경로에있는 모듈을 찾으려고 말한다 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", 

했다, 즉시 모든 작업, 내가 원했던 것처럼.