我是 ember 的新手,在部署 ember 应用程序时遇到了问题。我正在使用余烬服务器来服务器我的余烬应用程序,该应用程序是在启用指纹识别的情况下构建的。
/app/node_modules/ember-cli/bin/ember build --environment=production
当我在生产模式下运行它时,它工作得很好,直到我扩展到多个部署。
/app/node_modules/ember-cli/bin/ember server --port 80 --live-reload=false --environment $EMBER_ENV
当我在负载均衡器中有多个 ember 服务器实例时,每个实例上生成的指纹是不同的,即使它们是相同的构建,这会导致间歇性 404。
172.x.x.x - - [18/Jul/2017:18:44:59 +0000] "GET /assets/vendor-a4e09847ae5ed0421fd631873a322bdb.js HTTP/1.1" 404
- 此指纹是在运行时而不是构建时生成的吗?
- 有什么方法可以使其成为构建时操作吗?
非常感谢。
这绝对是一个构建时间。ember build
的结果是一个dist
文件夹,其中包含生成的index.html
,其中包含对指纹资产以及CSS,JavaScript,图像等资产的引用。
确保未缓存index.html
文件,并将文件夹的内容正确传播到每个节点dist
。
要查看它是否适用于禁用缓存,您可以在Chrome中打开开发人员工具,转到"网络"选项卡并选中"禁用缓存"选项。
虽然您希望缓存和负载平衡指纹资产很棒,但您需要非常小心index.html
因为它应该始终与新版本保持同步。