2017-01-04 1 views
0

저는 koa 및 Typescript2.0을 사용하여 프로토 타입을 작성하려고했습니다.Typescript 2가 외부 노드 모듈을 해결할 수 없습니다

나는 다음과 같은 tsconfig.json으로 간단한 프로젝트를 설정 한 :

{ 
    "compilerOptions": { 
     "outDir": "./bin/", 
     "sourceMap": true, 
     "noImplicitAny": true, 
     "module": "commonjs", 
     "target": "es6", 
     "jsx": "react", 
     "typeRoots": [ 
      "node_modules/@types" 
     ], 
     "types": [ 
      "node" 
     ] 
    }, 
    "include": [ 
     "./src/**/*" 
    ] 
} 

내가 npm install --save @types/node를 통해 노드 정의 파일을 설치하고 내가 지금 import Morgan = require('koa-morgan')와 노드 모듈을 가져올려고 그러나 이것은 유지 오류 던지고 : error TS7016: Could not find a declaration file for module 'koa-morgan'. 나는 VScode를 사용하고 있으므로 tsdk가 제대로 업데이트되므로 문제가되지 않습니다.

무엇이 누락 되었습니까? 미리 감사드립니다.

답변

3

koa-morgan에 대한 입력을 받아야하며 node과 동일한 방식으로 입력해야합니다. 그렇지 않은 경우 사용할 수없는 경우 시간과 의지가 있어야 자신을 만들 수 있습니다.

그렇지 않으면 단지 자바 스크립트 방법 후가 기본으로를 가져옵니다

const Morgan = require('koa-morgan'); 

하지만 그

+0

오른쪽 aswell 타이프 라이터에서 유형 검사없이 당신을 떠날 것입니다,하지만 난 노드 모듈에 대한 권장 구문은 X = 수입이 필요하다고 생각 ('foo') 나는 이전 프로젝트에서 이것을 사용했음을 기억합니다. 왜 여기서 작동하지 않습니까? 또한 타이핑이없는 노드 모듈을 사용하는 모든 파일에 /// 를 수동으로 설정해야합니다. – tiansivive

+0

typescript가 입력 정보를 유추하고 가져올 내용을 확인할 수없는 경우 - 해당 구문을 사용할 수없는 경우 . 어떤 경우에도 // 을 사용할 필요는 없습니다. 타이핑을하고 tsconfig에서 적절한 참조를하면 typescript가이를 사용합니다. 그렇지 않으면 기존 구문을 사용하여 입력없이 일반 자바 스크립트로 작업합니다 – Amid