我希望在我的ember应用程序中有一个清单,因为我想在移动设备上使用它并具有一些离线功能。
我找到了插件ember-cli-deploy-manifest: https://github.com/ember-cli-deploy/ember-cli-deploy-manifest 它在自述文件中有详细记载,看起来很有希望。
但是如何使用插件?
我已使用此命令安装它:
ember install ember-cli-deploy-manifest
我使用此命令构建我的应用程序:
ember build -prod
未创建任何清单。我可能错过了一些简单的步骤,但无法弄明白。如何告诉ember build使用插件?
更新
我按照以下答案的评论中的建议。我使用manifest-plugin删除并手动创建了一个清单文件。然后,挑战是在清单文件中获得正确的指纹文件名。
在我的ember-cli-build.js文件中,我有:
module.exports = function(defaults) {
var app = new EmberApp(defaults, {
fingerprint: {
exclude: [],
extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map'],
replaceExtensions: ['html','css','js', 'appcache']
}
});
...
我的清单文件名为eea.appcache,位于/ public文件夹中。它在构建期间被复制到dist-folder。 但是,文件的内容(文件名列表)不是指纹。其他文件(html,css,js)中的文件名被正确指纹识别。
这是我的public/eea.appcache:
CACHE MANIFEST
# 2016-03-15
# V 1.0
CACHE:
index.html
assets/vendor.css
assets/eea.css
assets/vendor.js
assets/eea.js
assets/img/Icon120x120.png
我的目标仍然是:
ember build -prod
如何获取使用MD5指纹更新的表格文件中的文件名?
答案 0 :(得分:0)
ember-cli-deploy-manifest
适用于ember-cli-deploy
。
因此,一旦安装了ember deploy,就需要运行ember deploy -production
。
安装ember-cli-deploy
ember install ember-cli-deploy
然后
ember deploy -production
答案 1 :(得分:0)
我终于得到了它的工作,但这个解决方案真的是hack'ish。 我通过反复试验来解决这个问题。
broccoli-assets-rev在分析文件以查找文件名时有一些棘手的规则。清单文件中通常使用的格式,解析器找不到文件名。
但是如果文件的注释中列出了带引号的文件并且使用了正确的路径,那么它将起作用。 如果清单文件位于公用文件夹的根目录中,它将最终位于网页的根目录中。然后路径如下。
我的文件如下:
CACHE MANIFEST
# 2016-03-15
# V 1.1
# '
# 'assets/vendor.css'
# 'assets/eea.css'
# 'assets/vendor.js'
# 'assets/eea.js'
# 'assets/img/Icon120x120.png'
CACHE:
index.html
assets/vendor.css
assets/eea.css
assets/vendor.js
assets/eea.js
assets/img/Icon120x120.png
NETWORK
*
然后生成的构建文件如下所示:
CACHE MANIFEST
# 2016-03-15
# V 1.1
#
# 'assets/vendor-d41d8cd98f00b204e9800998ecf8427e.css'
# 'assets/eea-ddacde3bdf32d3f94c5a01a2054c6f72.css'
# 'assets/vendor-3229c2c849c3d52c0b362d9fee2106ad.js'
# 'assets/eea-4c760118f51f7402db2f0b6074b6960b.js'
# 'assets/img/Icon120x120-40b31b55211fb293dedf556a648aa47e.png'
CACHE:
index.html
assets/vendor-d41d8cd98f00b204e9800998ecf8427e.css
assets/eea-ddacde3bdf32d3f94c5a01a2054c6f72.css
assets/vendor-3229c2c849c3d52c0b362d9fee2106ad.js
assets/eea-4c760118f51f7402db2f0b6074b6960b.js
assets/img/Icon120x120-40b31b55211fb293dedf556a648aa47e.png
NETWORK
*