Node.js和Express:"无法获取/"静态网站

时间:2015-02-23 18:11:26

标签: node.js express

我正在开发一个小型Node应用程序并且工作正常。它需要提供目录/source中的一些静态文件。

今天,在重新启动计算机后,当我访问本地网站时,我得到的只是Cannot GET /。自从最后一次工作以来,Node配置中没有任何内容发生了变化。

var express = require('express'),
    app     = express(),
    path    = require('path'),
    fs      = require('fs');

// Load our static site to start with
app.use(express.static(path.join(__dirname, 'source')));

// Start the node server
app.listen(3000, function() {
  var host = this.address().address,
      port = this.address().port;

  console.log('Serving Atenium at http://%s:%s', host, port);
});

我的文件夹如下:

|- app/
|-- index.js
|- source/
|-- <static files>

关于为什么会停止工作的任何想法?

2 个答案:

答案 0 :(得分:0)

您可以在此过程中更新快递模块吗?我相信Express 4,静态内容现在由https://github.com/expressjs/serve-static中的服务静态中间件库处理。

答案 1 :(得分:0)

而不是使用

app.use(express.static(path.join(__dirname, 'source')));

您必须创建一个虚拟静态路径,如:

app.use('/source', express.static(path.join(__dirname, 'source')));