我正在将 Express v3.0.0rc1 与 Node v0.8.1 一起使用,并且我正在尝试创建一个网络服务器,该服务器可以脱离模块化系统来显示路线和视图。
有没有办法从目录中显示样式表和客户端 javascript 文件,./modules/foo/
而不是./public
在 foo 模块路由中显示请求时显示?
我正在将 Express v3.0.0rc1 与 Node v0.8.1 一起使用,并且我正在尝试创建一个网络服务器,该服务器可以脱离模块化系统来显示路线和视图。
有没有办法从目录中显示样式表和客户端 javascript 文件,./modules/foo/
而不是./public
在 foo 模块路由中显示请求时显示?
我的方法是设置一个额外的静态中间件层。这有一个限制,即您的模块使用的静态文件必须具有不同的名称,因为任何名称冲突都将导致仅提供资源./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');
});