Повторное использование кода ES2016 между приложениями Aurelia
Работая над несколькими приложениями Aurelia, мы пришли к выводу, что нам нужно делиться кодом между этими приложениями.
Код, которым мы делимся, - это не то, что мы (на самом деле, наш клиент) хотели бы получить из открытых источников. Таким образом, мы думали о создании частных пакетов jspm, чтобы мы могли легко использовать наши модули при необходимости. Эта идея вдохновлена на этом посте
Jspm также поддерживает связывание пакетов, так что это то, что мы действительно хотели бы использовать во время разработки, поскольку повторно используемый код еще недостаточно стабилен.
Рабочий процесс со связанными пакетами jspm
Поэтому наш предполагаемый рабочий процесс заключается в создании различного количества проектов / модулей с ES2016
код и создавать пакеты JSPM из этих проектов. Эти пакеты будут установлены и связаны в наших приложениях.
Transpiling
Насколько нам известно, пакеты jspm необходимо перенести перед установкой в свой проект. Поэтому мы всегда должны передавать код, если есть какие-либо изменения.
Согласно этой документации systemjs / babel-plugin, поддержка на лету будет реализована в version 0.17
(который находится в бета-версии на данный момент). В настоящее время мы используем jspm
версия 0.16.32
который не поддерживает на лету babel 6
,
Каким-то образом этот рабочий процесс кажется чрезмерно спроектированным, поэтому мы рассматриваем его на лету в наших приложениях, хотя боимся снижения производительности.
Как бы вы поделились es2016
код между различными приложениями Aurelia?
Есть ли способ добиться повторного использования кода без использования пакетов jspm?
1 ответ
Я лично опубликовал бы пакеты для внутреннего npm-канала. Настройте внутренний канал для зеркального отображения общедоступного канала npm, затем настройте.npmrc так, чтобы он указывал на частный канал. Тогда просто
jspm install npm:my-private-package