【发布时间】:2015-07-12 00:44:18
【问题描述】:
我正在尝试在打字稿中重新创建 express routing example
我有……
/// <reference path='Scripts/typings/express/express.d.ts' />
import express = require('express');
var app = express();
var cb0: express.RequestHandler = function (req, res, next) {
console.log('CB0');
next();
}
var cb1: express.RequestHandler = function (req, res, next) {
console.log('CB1');
next();
}
var cb2: express.RequestHandler = function (req, res) {
res.send('Hello from C!');
}
var arr: express.RequestHandler[] = [cb0, cb1, cb2];
app.get('/example/c', arr);
打字稿编译器向我抛出的第一个错误是 '/example/c' 说 Argument of type 'string' is not assignable to parameter of type 'RegExp'... 很奇怪,因为在 express.d.ts 中,该函数被定义为允许字符串,或正则表达式...但是,好吧,我把它改成new RegExp('/example/c')
然后它向我抛出错误Argument of type 'RequestHandler[]' is not assignable to parameter of type 'RequestHandler'.。也很奇怪,因为express.d.ts 文件有定义为允许数组的方法。
这里的打字稿很新,这些是一些神秘的错误消息......
【问题讨论】:
-
可能值得注意的是,
express.d.ts来自DefinitelyTyped -github.com/borisyankov/DefinitelyTyped/blob/master/express/…
标签: javascript node.js express typescript