【发布时间】:2012-08-11 09:46:20
【问题描述】:
在本地,我的带有 express 应用程序的 node.js 按预期工作。当我推送到 Heroku 时,该应用程序能够加载一些样式表和 javascript,但不能加载其他的。这是 app.js 中的相关 sn-p:
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 上部分中断。
【问题讨论】:
-
你检查你的引导文件了吗?
-
我正在发现关于 git 子模块的事情。我从 git repo 复制了 bootstrap,然后尝试从 boostrap 中删除 .git 和 .gitconfig ,因为我不关心将其设为官方子模块。我只是想要这些文件。我让它工作并能够提交所有文件的唯一方法是首先删除 .git 和 .gitconfig,然后将文件复制到 repo。
-
使用 CDN 可能是一个不错的选择。在页面底部有一个用于引导程序bootstrapcdn.com 和用于 jquery jquery.com/download。