在处理许多Aurelia应用程序时,我们达到了需要在这些应用程序之间共享代码的地步。
要共享的代码不是我们(实际上是我们的客户)想要开源的东西。所以我们正在考虑创建私有的 jspm 包,这样我们就可以在需要时轻松地重用我们的模块。这个想法的灵感来自这篇博文
Jspm 也支持链接包,所以这是我们在开发过程中真正希望使用的东西,因为要重用的代码还不够稳定。
带有链接 jspm 包的工作流
所以我们预期的工作流程是使用代码创建不同数量的项目/模块,ES2016
并从这些项目中创建 jspm 包。然后这些包将被安装并链接到我们的应用程序中。
转译
据我们所知,在将 jspm 包安装到项目之前需要对其进行转译。因此,如果有任何更改,我们总是需要转译代码。
根据这个systemjs/babel-plugin 文档,将支持动态转译version 0.17
(目前处于测试阶段)。目前我们使用的jspm
版本0.16.32
不支持使用babel 6
.
不知何故,这个工作流程感觉过度设计,所以我们考虑在我们的应用程序中进行动态转换,尽管我们担心性能损失。
您将如何es2016
在不同的 Aurelia 应用程序之间共享代码?
有没有在不使用 jspm 包的情况下实现代码重用?