2014-12-28 1 views
3

TypeServer를 사용하도록 간단한 NodeJS + ExpressJS 응용 프로그램을 업데이트하려고합니다. 작동하고 있지만 여분의 데이터 주석을 추가하여 Visual Studio & WebStorm에서 추가 유형 검사 및 코드 타임 자동 완성/IntelliSense를 추가하는 데 적합합니다.명시 적으로 Express ""application, request, response ... "유형 지정"

나는 최신 express.d.ts을 참조했습니다. 나는 또한 익스프레스 응용 프로그램 만들었습니다

var app = express(); 

모든 작품을 ...하지만 난 당신이

뭔가를 입력 할 때 자동 완성 지원 응용 프로그램에 대한 형식 정보를 추가하는 방법을 알아낼 수없는 것
app.get('/',function(req,res){}); 

나는 Express.Application (그리고 .Request를 사용하여 응용 프로그램 (및 REQ & 고해상도를) 주석을 시도했습니다.Response) 해결할 수 없습니다. 유형 정의를 보면 typedef가 내부 "e"참조를 만드는 방법과 혼동을 겪고 있습니다 ...

놀랍게도 express.d.ts typedef가 있었기 때문에 &을 묻는 사람을 찾지 못했습니다. ExpressJS 4.0 업데이트 (이전에 나는 ExpressServer에 대한 참조를 발견하지만 현재 오늘이 아니다.

아이디어? 어떤 성공 잠시 동안 뭔가에 대한 작업 "의

답변

17

클래식 케이스,하지만 때를 마지막으로를 도움을 청하는 질문을 올리면 즉각 알아낼 수 있습니다. "

해결책 : 유형 중 하나를 사용하려면 typedef가 typedef 내의 명명 된 모듈에 있으므로 모듈을 가져와야합니다. 위의 코드에서

, 나는 응용 프로그램에 유형 주석을 얻고 있었다 (즉, 내 app.ts에 거주). 파일의 맨 위에있는 내 import 문이 import express = require('express'); 이었기 때문에, 나는 REQ에 주석을 달 수 & 고해상도 같은 PARAMS : 나는 에 유형 주석을 잡으려고 다른 파일에서

app.get('/', function(req:express.Request, res:express.Response){}); 

, app, 파일 상단에 import 문이 누락되었습니다. 추가 한 후에는 다음과 같은 주석을 추가 할 수 있습니다.

public init(app: express.Application){} 
7

누구나 2017 년에이 질문에 걸림돌이되고 더 현대적인 TS를 사용합니다. 당신은 단지 npm install @types/express 수 있어야합니다 그리고 그냥 작동합니다.