我确定的答案是“你不能用lite-server来做这件事”。我的选择是使用Express,它提供了一个API来定义路由规则,这些路由规则正是我所需要的。这是一个小黑客(例如,response.sendFile(...)不支持相对路径,因此下面的path.join(...)
诡计),但我会让它工作。
var express = require('express');
var debug = require('debug')('app');
var path = require('path');
var app = express();
app.use(express.static('.'));
app.get('/',
function (req, res) {
debug("Root URL requested.");
res.sendFile(path.join(__dirname, 'index.html'));
});
app.get('/test',
function (req, res) {
debug("GET on /test")
res.send('Hello World');
});
var port = process.env.PORT || 3000;
debug("Using port ", port);
var server = app.listen(port,
function() {
var host = server.address().address;
var port = server.address().port;
console.log('Listening at http://%s:%s', host, port);
});
}
我已经更新的package.json像这样:
"main": "nodeapp.js",
"scripts": {
"cc": "concurrently \"npm -v\" \"npm run tsc:w\" ",
"start": "concurrently \"npm run tsc -v\" \"npm run tsc:w\" \"node nodeapp.js\" ",
...
我的测试将针对节点引导的一个实例,像这样一个脚本运行