使用node.js(with express)作为静态Web服务器

时间:2012-12-07 22:13:02

标签: node.js webserver express

我希望使用带有express的node.js来创建一个服务于静态文件的Web服务器(而不是使用类似Apache的东西)。这就是我到目前为止所做的:

var express = require('express');
var app = express();
var http = require('http');
var path = require('path');

app.configure(function() {
    app.use(express.static(path.join(__dirname, '/public')));
    app.use(app.router);
});

var server = http.createServer(app);

server.listen(4001);

这可以通过浏览器访问公共文件夹中的任何内容。我有两个问题。

  1. 当用户尝试访问不存在的文件时,如何使node.js提供404错误?
  2. 我如何选择我的主页?

2 个答案:

答案 0 :(得分:4)

查看现有的实施工具,例如ecstatichttp-server

答案 1 :(得分:0)

您可以使用/public/index.html文件设置主页 您可以在app.router

之后添加来创建404页面
app.use(function (req, res) {
  res.send(404, 'File not found.')
})

或者您可以使用res.render或任何您喜欢的内容。