我陷入了一个令人沮丧的问题。
我的静态文件不是由快递js提供的,而是我的全局捕获所有获取处理程序正在被命中。
我的目录结构:
node/apps/web/app.js
-------------/public/
--------------------/css/site.css
--------------------/js/
--------------------/img/
我的开发配置
app.configure('development',function() {
console.log(__dirname);
// for development, serve static files via express
app.use(express.static(__dirname + '/public'));
app.use(express.errorHandler({dumpExceptions: true, showStack: true}));
});
//...later
app.get('*',route.r404);
请求:
http://192.168.1.101/css/site.css
无法触发正确的css文件。
编辑添加:
看起来它与默认捕获所有路由有关。如果我发表评论,它会妥善解决......
答案 0 :(得分:2)
如果app.use(app.router)位于app.use(express.static(...))行之上,则路由将胜过静态。您的app.get('*',...)行是路线的一部分。
答案 1 :(得分:0)
var express = require("D:/node/express/modules/express");
var path=require("D:/node/express/modules/path");
var app = new express();
app.get('/',function(req,res){
res.sendFile(path.join(__dirname,'/index.html'));
});
app.get('/about',function(req,res){
res.sendFile(path.join(__dirname,'/about.html'));
});
app.listen(1000);
此处var express
和var path
是模块路径
在这里,您可以使用这个简单的代码来提供静态文件。