2012-08-15 81 views
3

本地,我的node.js和express app工作正常。當我推送到Heroku時,該應用程序能夠加載一些樣式表和JavaScript,而不是其他的。下面是app.js相關片段:一些JS和CSS資源在Heroku上沒有加載,雖然本地加載

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。

+1

你檢查了你的引導文件嗎? – 2012-08-15 02:56:48

+1

我在發現有關git子模塊的事情。我從git repo中複製bootstrap,然後試圖從boostrap中刪除.git和.gitconfig,因爲我不在乎將它作爲官方子模塊。我只是想要的文件。我得到它的唯一方法,並能夠提交所有的文件是通過首先刪除.git和.gitconfig,然後將文件複製到回購。 – Miles 2012-08-15 03:12:02

+0

使用CDN可能是一個不錯的選擇。有一個用於引導http://www.bootstrapcdn.com/和頁面底部的jquery http://jquery.com/download/。 – jackdbernier 2013-04-22 23:14:02

回答

0
  1. 檢查文件是否確實存在
  2. 檢查您的靜態文件正在由節點或網絡服務器例如服nginx的。有可能網絡服務器被錯誤地配置爲服務靜態文件,並且沒有在/ lib/bootstrap/