有时,特殊情况下像这样的,这是很容易写你自己的服务器:
'use strict';
var host = '127.0.0.1', port = 3333;
var path = require('path');
var app = require('express')();
app.get('*', (req, res) => res.sendFile(path.join(__dirname, 'index.html')));
app.listen(port,() => console.log(`Listening on http://${host}:${port}/`));
但是请记住,如果每一个路径,然后返回index.html在index.html不能引用图像等东西,风格工作表或客户端JavaScript文件。不仅可以使用上面显示的代码,而且可以使用向每个请求发送相同响应(index.html)的任何解决方案。
您可能需要作出一些例外,它并不难使用快递:
'use strict';
var host = '127.0.0.1', port = 3333;
var path = require('path');
var app = require('express')();
app.get('/x.png', (req, res) => res.sendFile(path.join(__dirname, 'x.png')));
app.get('*', (req, res) => res.sendFile(path.join(__dirname, 'index.html')));
app.listen(port,() => console.log(`Listening on http://${host}:${port}/`));
只要记住,异常得去上,因为第一个匹配的路由将被用于给定的请求。
当然你需要保存这个代码,例如到app.js,安装快捷:
npm install express
,并启动它:
node app.js
这比使用现成的解决方案更复杂(虽然,正如你所看到的,并不复杂要么),但你有多大您希望如何表现的更多灵活性。它也很容易添加日志记录等