在本地,我的 node.js 和 express 应用程序按预期工作。当我推送到 Heroku 时,应用程序能够加载一些样式表和 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'));
});
这是我从我的 jade 模板中加载的 Assets :
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 文件加载正常。 Bootstrap 文件返回 404。
我很困惑为什么这会在本地工作但会在 Heroku 上中断,并且部分中断。
最佳答案
- 检查文件是否真实存在
- 检查您的静态文件是否由 Node 或网络服务器提供服务,例如nginx。 Web 服务器可能被错误配置为提供静态文件并且没有在/lib/bootstrap/中查找
关于node.js - 一些 JS 和 CSS Assets 没有在 Heroku 上加载,尽管在本地加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963524/