一些JS和CSS资产没有在Heroku上加载,尽管在本地加载

时间:2012-08-15 02:53:28

标签: node.js heroku express

在本地,我的带有快递应用程序的node.js按预期工作。当我推送到Heroku时,该应用程序能够加载一些样式表和javascripts,但不能加载其他样式表和javascripts。以下是app.js的相关摘录:

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

以下是我从我的jade模板中加载的资产:

link(href='/stylesheets/style.css', rel='stylesheet')
link(href='/lib/bootstrap/docs/assets/css/bootstrap.css', rel='stylesheet')
link(href='/lib/bootstrap/docs/assets/css/bootstrap-responsive.css', rel='stylesheet')
script(src='/lib/jquery/jquery-1.7.2.js')
script(src='/lib/bootstrap/docs/assets/js/bootstrap-collapse.js')

一切都在本地工作,但是当我推送到Heroku时,style.css文件和jquery文件被正确加载。引导程序文件返回404。

我很困惑,为什么这会在本地工作,但会在Heroku上部分打破。

1 个答案:

答案 0 :(得分:0)

  1. 检查文件是否真的存在
  2. 检查节点或网络服务器是否提供静态文件,例如nginx的。 Web服务器可能配置错误以提供静态文件,而不是在/ lib / bootstrap /
  3. 中查找