2012-08-15 49 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/