我正在将此脚本用于我的node.js webserver(ubunt):
var util = require('util'),
http = require('http'),
fs = require('fs');
fs.readFile('htdocs/index.html', function (err, html) {
if (err) {
throw err;
}
http.createServer(function(request, response) {
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
}).listen(80);
util.puts('> Server is running');
});
我正在用以下内容开始编写脚本:
forever start server.js
......它有效。
但它不起作用如果我上传一些简单的html文件,如index.html,并带有指向test.html的链接。
只有在我停止并启动脚本时它才有效。但是从index.html到test.html的链接不起作用。
答案 0 :(得分:1)
您正在做的是读取文件然后启动服务器,这意味着只要服务器正在运行,响应将保持不变。要始终检索最新版本的index.html,您需要在每次请求时阅读它:
var util = require('util'),
http = require('http'),
fs = require('fs');
http.createServer(function(request, response) {
fs.readFile('htdocs/index.html', function (err, html) {
if (err) {
throw err;
}
response.writeHeader(200, {"Content-Type": "text/html"});
response.write(html);
response.end();
});
}).listen(80);
util.puts('> Server is running');
要提供多于一个文件,您需要设置一个静态网络服务器,例如使用connect static:
var connect = require('connect');
connect.use(connect.static(__dirname + '/htdocs'))