ember.js — с помощью плагина манифеста ember

Я хочу иметь манифест в своем приложении ember, потому что я хочу использовать его на мобильных устройствах и иметь некоторые автономные возможности.

Я нашел плагин ember-cli-deploy-manifest: https://github.com/ember-cli-deploy/ember-cli-deploy-manifest Он хорошо документирован в файле readme и выглядит многообещающе.

Но как мне использовать плагин?

Я установил его с помощью этой команды:

ember install ember-cli-deploy-manifest

Я создаю свое приложение, используя эту команду:

ember build -prod

Манифест не создается. Я, вероятно, пропустил какой-то простой шаг, но не могу понять. Как указать Ember build использовать плагин?

ОБНОВЛЕНИЕ

Я последовал предложению в комментарии к ответу ниже. Я отказался от плагина манифеста и создал файл манифеста вручную. Затем задача состоит в том, чтобы получить правильные имена файлов с отпечатками пальцев в файле манифеста.

В моем файле 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 во время сборки. Однако содержимое файла (список имен файлов) не содержит отпечатков пальцев. Имена файлов в других файлах (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?


person Vilhelm H.    schedule 14.03.2016    source источник
comment
ember-cli-deploy-manifest используется с ember-cli-deploy ember-cli.com/ember-cli-deploy .   -  person kiwiupover    schedule 14.03.2016


Ответы (2)


ember-cli-deploy-manifest предназначен для использования с ember-cli-deploy.

Итак, вам нужно запустить ember deploy -production после того, как вы установили ember deploy.

Установите ember-cli-развертывание

ember install ember-cli-deploy

Затем

ember deploy -production
person kiwiupover    schedule 14.03.2016
comment
Если вам действительно нужен только манифест, вы можете использовать уже установленный github.com/rickharrison/broccoli-asset -rev в свой ember-cli-build.js файл можно добавить fingerprint: { enabled: true, extensions: ['js', 'css', 'png', 'jpg', 'gif', 'map', 'svg'], generateAssetMap: true } - person kiwiupover; 14.03.2016

Наконец-то я заставил его работать, но это решение действительно хакерское. Я понял это методом проб и ошибок.

У 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
*
person Vilhelm H.    schedule 15.03.2016