expressjs静态文件没有被提供
我困在一个令人沮丧的问题。
我的静态文件不是由快捷js服务,而是我的全球捕获所有获取处理程序正在打。
我的目录结构:
node/apps/web/app.js -------------/public/ --------------------/css/site.css --------------------/js/ --------------------/img/
我的开发configuration
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文件。
编辑添加:
看起来像是与默认捕捉所有路线有关。 如果我把它评论出来,它会正确地解决
如果app.use(app.router)在app.use(express.static(…))行之上,那么路由将胜过静态。 你的app.get('*',…)行是路由的一部分。
请参阅Node.js / Express.js – app.router如何工作? 获取更多信息。
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
是模块path,你可以使用这个简单的代码来提供静态文件。