ローカルでは、エクスプレスアプリを使用したnode.jsは期待どおりに機能します。Herokuにプッシュすると、アプリは一部のスタイルシートとJavaScriptをロードできますが、他のスタイルシートとJavaScriptはロードできません。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'));
});
翡翠テンプレートからロードしているアセットは次のとおりです。
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で部分的に機能しなくなるのはなぜか、私は困惑しています。