【发布时间】:2013-03-05 18:57:42
【问题描述】:
这是我第一次使用 node.js。我让它显示 index.html,但它不显示网站上的图像或其他任何东西,它只显示基本的 html 内容。这是我的设置方式。 服务器上没有 apache、php 或其他任何东西,只有 ubuntu、proftp 和 node(以及 curl 和其他依赖项)。我为节点文件 /var/nodeFiles 创建了主目录,html/site 文件的目录是 /var/nodeFiles/www 所以对于我的节点服务器文件,我是这样做的:
var http = require('http'),
fs = require('fs');
fs.readFile('/var/nodeFiles/www/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);
});
这可行,但它只显示 index.html 文件并且没有附加任何内容,因此没有图像、效果或 html 文件应显示的任何内容。文件和目录都是正确的,我已经仔细检查过,文件夹的权限是正确的。那么我还需要做什么才能让节点显示网站的其余部分? 我希望我已经正确地解释了自己,有人告诉我这是问开发问题的地方。 感谢您抽出宝贵时间阅读本文。
【问题讨论】:
-
基本上你想做的就是提供静态内容之前已经有很多关于这个的问题了。
-
他正在服务器文件中生成 html。我试图获取一个现有站点并使用 fs 库显示它。如果以这种方式重写它是我必须做的,那就这样吧。
-
使用完整的文件/图像 url 而不是相对 url。
标签: node.js