mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-24 05:47:44 +08:00
58 lines
1.2 KiB
TypeScript
58 lines
1.2 KiB
TypeScript
/// <reference path="express.d.ts" />
|
|
|
|
import * as express from 'express';
|
|
var app = express();
|
|
|
|
app.engine('jade', require('jade').__express);
|
|
app.engine('html', require('ejs').renderFile);
|
|
|
|
express.static.mime.define({
|
|
'application/fx': ['fx']
|
|
});
|
|
app.use('/static', express.static(__dirname + '/public'));
|
|
|
|
// simple logger
|
|
app.use(function(req, res, next){
|
|
console.log('%s %s', req.method, req.url);
|
|
next();
|
|
});
|
|
|
|
app.get('/', function(req, res){
|
|
res.send('hello world');
|
|
});
|
|
|
|
const router = express.Router();
|
|
|
|
|
|
const pathStr : string = 'test';
|
|
const pathRE : RegExp = /test/;
|
|
const path = true? pathStr : pathRE;
|
|
|
|
router.get(path);
|
|
router.put(path)
|
|
router.post(path);
|
|
router.delete(path);
|
|
router.get(pathStr);
|
|
router.put(pathStr)
|
|
router.post(pathStr);
|
|
router.delete(pathStr);
|
|
router.get(pathRE);
|
|
router.put(pathRE)
|
|
router.post(pathRE);
|
|
router.delete(pathRE);
|
|
|
|
router.use((req, res, next) => { next(); })
|
|
router.route('/users')
|
|
.get((req, res, next) => {
|
|
res.send(req.query['token']);
|
|
});
|
|
|
|
app.use((req, res, next) => {
|
|
// hacky trick, router is just a handler
|
|
router(req, res, next);
|
|
});
|
|
|
|
app.use(router);
|
|
|
|
app.listen(3000);
|