Я установил демо-версию ember 3.12 на https://github.com/bartocc/so-58343095.
Это приложение зависит от ember-concurrency , а также имеет дополнение in-repo core
, которое зависит от ember-concurrency
.
Я также добавил ember-cli-bundlesize
, чтобы помочь проанализировать размер пакета встроенного приложения.
Вот результаты ember bundlesize:test
до и после добавления репоаддон.
до
$ git checkout 6c5dfc7
$ ember bundlesize:test
ok 1 - app:javascript: 165.89KB <= 500KB (gzip)
ok 2 - app:css: 40B <= 50KB (gzip)
после
$ git checkout 9c9c9a9
$ ember bundlesize:test
ok 1 - app:javascript: 165.89KB <= 500KB (gzip)
ok 2 - app:css: 40B <= 50KB (gzip)
Bundlesize check was successful. Good job!
Как видите, размер комплекта не меняется.
То же самоеидет для двигателя репо:
С двигателем репо в зависимости от ember-concurrency
$ git checkout 2662b63
$ ember bundlesize:test
ok 1 - app:javascript: 170.08KB <= 500KB (gzip)
ok 2 - app:css: 40B <= 50KB (gzip)
Bundlesize check was successful. Good job!
Небольшая разница, которую вы видите между 165,89 КБ и 170,08 КБ, состоит из:
;define("ember-engines/-private/engine-ext")
;define("ember-engines/-private/engine-instance-ext")
;define("ember-engines/-private/route-ext")
;define("ember-engines/-private/router-ext")
;define("ember-engines/components/link-to-component")
;define("ember-engines/components/link-to-external-component")
;define("ember-engines/engine")
;define("ember-engines/initializers/engines")
;define("ember-engines/routes")
;define("my-engine/config/environment")
;define("my-engine/engine")
;define("my-engine/resolver")
;define("my-engine/routes")
;define("my-engine/templates/application")
И, наконец, ember-concurrency
модулей с псевдонимами, которые будут доступны внутри распознавателя my-engine
:
;define.alias("ember-concurrency/helpers/cancel-all", "my-engine/helpers/cancel-all");
;define.alias("ember-concurrency/helpers/perform", "my-engine/helpers/perform");
;define.alias("ember-concurrency/helpers/task", "my-engine/helpers/task");
;define.alias("ember-concurrency/initializers/ember-concurrency", "my-engine/initializers/ember-concurrency");
YMMV, в зависимости от того, какое дополнение вы используете, но вы можете использовать это демонстрационное приложение в качестве отправной точки, чтобы проверить, является ли какой-то код реальным. дублируется или нет.
Надеюсь, это поможет