Aurelia:Webpack、JSPM还是CLI?

Aurelia:Webpack、JSPM还是CLI?,aurelia,Aurelia,我已经在Aurelia CLI中开发了大约3个月,到目前为止我很喜欢它。我认为它是一个坚实的框架,并且在支持和使用方面明显提升。那是件好事 在我开发更多大型应用程序之前,我想知道我是否使用了最好的构建系统。我只尝试过Aurelia CLI,对Webpack或JSPM不太熟悉,因此我不知道我遗漏了什么。使用其他两个构建系统中的任何一个都有明显的优点或缺点,或者使用CLI是最干净和受支持的方法吗?因为我是独立开发的,所以我没有任何外部约束 感谢您的帮助。CLI目前功能还不完善,但它的设置要简单得多。

我已经在Aurelia CLI中开发了大约3个月,到目前为止我很喜欢它。我认为它是一个坚实的框架,并且在支持和使用方面明显提升。那是件好事

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


感谢您的帮助。

CLI目前功能还不完善,但它的设置要简单得多。Webpack基本上可以做任何您想做的事情,但是您将维护您的Webpack配置,就像维护您的Aurelia代码一样


好吧,也许不止如此,但你必须学习Webpack才能使用Webpack。Aurelia CLI入门很简单,但有一些明确的限制。例如,引用外部资源的CSS文件在使用Aurelia CLI时不起作用,但在使用Webpack时应该可以正常工作。

更新

这个答案已经有将近两年的历史了。请随时研究更新并提供另一个更完整的答案,我可以替换此答案或指向该答案。谢谢

Aurelia CLI

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

网页包

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

JSPM/System.js

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

偏音


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

首先,我可以理解这篇文章是否因其错误而关闭

我认为是时候重新审视关于成为二等工具的答案了。我非常尊重这两者,但我只是不相信这样的说法是真的:

Aurelia CLI计划了许多功能,但在 写这篇文章的时候,它应该处于alpha/beta状态 通常用于概念验证或其他较小的应用程序,而不是 生产就绪的大规模应用程序尚未出现

值得注意的是,早在我开始使用Aurelia CLI的那一天,我就有一个这样的生产应用程序,正是因为上面提到的原因,我将其更改为JSPM。但最近,我使用CLI从头开始重新构建了同一个应用程序,我意识到它更易于使用,尤其是管理模块和发布!这是一个包含谷歌地图、谷歌分析、Auth0、DevExpress、Bootstrap等功能的应用程序


想想是时候给奥雷莉亚一点爱了。准备就绪。

Aurelia CLI是本次发布的首选选项


现在,它为您的首选项选择提供了更大的灵活性。

您能否详细说明或给出一个外部资源的示例,它不能很好地使用aurelia cli?例如,一个引用图像文件的CSS文件。这个答案应该比我得到更多的支持@你的答案还相关吗?我的印象是,JSPM已经被修改后的模块加载器规范所取代,看起来WebPack是新的首选方式(查看aurelia新闻)。我们自己也在使用jspm/systemjs,感觉有点卡住了(在gulp中使用自定义构建步骤)/被遗漏在jspm/systemjs堆栈上。