Aurelia:Webpack,JSPM还是CLI?

LSt*_*rky 22 aurelia aurelia-framework

我已经在Aurelia-CLI开发了大约3个月并且喜欢它到目前为止.我认为这是一个坚实的框架,显然在支持和使用方面不断升级.这是好事!

在我开发更多大型应用程序之前,我想知道我是否使用了最好的构建系统.我只尝试过Aurelia-CLI,并不熟悉Webpack或JSPM,因此我不知道我缺少什么.使用其他两个构建系统中的任何一个是否有任何明显的优点或缺点,或者使用CLI是最干净和最受支持的方法?由于我是独立开发的,所以我没有任何外部限制.

谢谢你的帮助.

PW *_*Kad 39

UPDATE

这个答案差不多是两年了.随意研究更新并提供另一个更完整的答案,我可以替换这个答案或指向答案.谢谢!

Aurelia CLI

Aurelia CLI非常适合入门.重要的是要理解,在CLI中,CLI使用require.js,但aurelia.json在应用程序中代理配置.这意味着您需要了解如何配置aurelia以使用require.js.一旦您需要开始配置以匹配您的工作流程或更改构建步骤,它现在会变得有点麻烦.我们正在努力改善这一点.Aurelia CLI计划有许多功能,但在撰写本文时,它处于alpha/beta状态,通常应该用于概念验证或其他较小的应用程序,而不是生产就绪的大型应用程序.

的WebPack

WebPack可以说是目前最受欢迎的孩子.WebPack 不是模块加载器,而是捆绑器.理解这一点很重要,因为虽然我们努力使Aurelia在所有模块加载器中都运行良好,但默认情况下,WebPack不负责加载模块,因此动态加载的应用程序需要开发人员对此进行扩展.WebPack在创建优化捆绑包方面非常强大,只要您熟悉配置WebPack,就可以轻松使用.由于React使用WebPack的流行,WebPack拥有更多的GitHub明星,很难说使用Aurelia时选择是否更好只是因为GitHub星的数量.

JSPM/System.js

一些骨架使用JSPM和System.js.原因是它们最接近"符合规范"的解决方案.从JSPM注册表加载时,JSPM会尝试尽可能多地提供帮助.如果注册表中尚未提供,您可以从NPMGitHub直接加载.从模块加载角度来看,您可以使用config.js在安装依赖项时(通常)自动维护的文件,以改进开发人员工作流程.

侧偏的音符

在目前大多数大型应用程序中,我通常更喜欢使用JSPM/System.js,因为我对工具有很好的理解,并且更喜欢我提供的控件.我正在制作大量正在制作的Aurelia应用程序,并且通常为较小的概念验证应用程序保留CLI,而WebPack是一个很好的选择,但我更喜欢我目前对JSPM/System.js的灵活性和理解.


Ash*_*ant 9

CLI目前功能不完整,但设置简单得多.Webpack基本上可以做你想做的任何事情,但是你将维护你的webpack配置和维护你的Aurelia代码一样多.

好吧,也许不是那么多,但你必须学习Webpack才能使用webpack.Aurelia CLI很容易上手,但有一些明确的限制.例如,引用外部资源的CSS文件不适用于Aurelia CLI,但它们应该可以与Webpack一起使用.

  • 例如,引用图像文件的CSS文件 (2认同)