电流设置
我有一个当前的快递应用程序,带有一个资产管理中间件,可以加载所有相关资产。我把这个应用程序部署到heroku。
,这是我的问题:
有时我会遇到一个竞争条件,在加载所有资产之前调用app.listen() get。这将导致第一个页面加载时出现错误(500) (除非我等待5-10秒)。随后的页面加载是可以的。我经常在本地主机上看到这个,偶尔也会在节目中看到。
,这是我的问题
节点应用程序的最佳实践是什么?我是否应该等待调用app.listen(),直到这些资产加载完毕?这被认为是一种安全的方法吗?
同样的情况也适用于加载i18n文件等。是否应该将app.listen()延迟到加载所有这些文件?想办法解决这个问题吗?用Q之类的?
谢谢
发布于 2013-12-10 23:54:35
只有.listen,当你真的准备好听,不要欺骗你的消费者!
assets.load(arg, arg, arg, function (err) {
if (err) {
throw new Error('uh-oh, no assets today!');
}
app.listen(port, then);
});如果您在处理静态资产时遇到了很多困难,您可能需要考虑使用咕噜或类似的工具进行构建,然后在执行应用程序之前先构建让Heroku使用Grunt工作流。
https://stackoverflow.com/questions/20507812
复制相似问题