我已经确定,答案是“你不能用 lite-server 做到这一点”。我的替代方法是使用 Express,它提供了一个 API 来定义完全符合我需要的路由规则。这有点 hacky(例如,response.sendFile(...) 不支持相对路径,因此path.join(...)
下面的骗局),但我会让它工作。
我的测试将针对使用如下脚本的 Node 引导实例运行:
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\" ",
...