1

我正在将 Express v3.0.0rc1 与 Node v0.8.1 一起使用,并且我正在尝试创建一个网络服务器,该服务器可以脱离模块化系统来显示路线和视图。

有没有办法从目录中显示样式表和客户端 javascript 文件,./modules/foo/而不是./public在 foo 模块路由中显示请求时显示?

4

1 回答 1

1

我的方法是设置一个额外的静态中间件层。这有一个限制,即您的模块使用的静态文件必须具有不同的名称,因为任何名称冲突都将导致仅提供资源./public。根据这个 SO Setting up two different static directory in node.js Express framework,这可能是你能做的最好的。

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

var app = express();                     // Express 3+
var server = http.createServer(app);

app.configure(function(){
    app.use(express.bodyParser());      // Parses incoming request date.
    app.use(app.router);                // Mount application routes 
    app.use(express.static(__dirname + '/public'));
    app.use(express.static(__dirname + '/module/foo'));
});

app.get('/', function(req, res) {
    res.send("Hello World!");
});

server.listen(3000, 'localhost');

});
于 2012-08-02T04:20:10.880 回答