我使用默认的快速库在nodejs中创建了一个简单的静态页面.
但是,当我运行它时,nodejs无法获取公共文件并在其上抛出404.
但是,当我运行它时,nodejs无法获取公共文件并在其上抛出404.
我相信我给出的路径是正确的.这让我很生气.我知道问题必须是如此微小和简单,以便面对手掌,但我无法找到它.
你能帮帮我吗?
代码在github上
Rishavs/ComingSoonPage
谢谢你的时间和帮助.
〜里沙夫
解决方法
express.static方法不包括递归的子文件夹.您的脚本和样式分别位于public / javascripts和public / stylesheets下.你必须让快递知道那些文件夹包含应该直接提供的静态文件,如下所示:
app.configure(function(){ app.set('port',process.env.PORT || 3000); app.set('views',__dirname + '/views'); app.set('view engine','jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodoverride()); app.use(app.router); app.use(express.static(path.join(__dirname,'public'))); app.use('public/javascripts',express.static(path.join(__dirname,'public/javascripts'))); app.use('public/stylesheets','public/stylesheets'))); });
最后两行是重要的.请注意,有两个参数传递给app.use方法.第一个告诉脚本将被提供的路径是什么(例如,你必须在浏览器中键入内容才能获得它).第二个是服务器上文件的物理位置.