更新
这个答案已经近两年了。欢迎您研究最新动态并提供更全面的答案,我可以替换此答案或指向那个答案。谢谢!
Aurelia CLI
Aurelia CLI非常适合入门。需要注意的是,在幕后,CLI使用require.js,但是通过aurelia.json
代理应用程序的配置。这意味着您需要了解如何配置aurelia以便与require.js配合使用。一旦您需要开始配置以匹配您的工作流程或改变构建步骤,它就会有点繁琐。我们正在努力改进这一点。Aurelia CLI计划有许多功能,但由于在撰写本文时它处于alpha / beta状态,因此通常应在概念验证或其他较小的应用程序中使用,而不是生产就绪的大型应用程序。
WebPack
目前,Webpack可以说是最受欢迎的框架。 Webpack不是一个模块加载器,而是一个打包工具。这很重要,因为尽管我们努力使Aurelia与所有模块加载器兼容,但默认情况下,Webpack不负责加载模块,因此动态加载的应用程序需要开发人员进一步扩展。 Webpack在创建优化的包方面很强大,并且只要您熟悉配置Webpack就可以轻松使用。由于React使用Webpack导致其受欢迎程度非常高,因此GitHub上有更多的星号。但很难说在使用Aurelia时是否最佳选择。
JSPM / System.js
有些骨架使用 JSPM 和 System.js。原因是这些解决方案最接近“规范兼容”。JSPM 在从 JSPM 注册表 加载时尽可能地提供帮助。如果注册表中还没有,则可以直接从 NPM
或 GitHub
加载。从模块加载的角度来看,您将使用一个 config.js
文件,该文件在安装依赖项以改善开发工作流程时通常会被自动维护。
侧重说明
目前,在大多数较大的应用程序上,我通常更喜欢使用 JSPM/System.js,因为我非常了解工具和提供的控制。我在许多处于生产状态的 Aurelia 应用程序上工作,并且通常将 CLI 保留用于较小的概念验证应用程序,而 WebPack 是一个很好的替代方案,但我目前更喜欢 JSPM/System.js 的灵活性和理解能力。
首先,如果这篇文章因其主观性质而被关闭,我能理解。
我认为是时候重新审视有关Aurelia CLI作为二流工具的答案了。我非常尊重PW Kad和Ashley Grant两位,但我不再相信像这样的说法是正确的:
虽然Aurelia CLI计划推出许多功能,但目前它仍处于alpha / beta状态,通常应在概念验证或其他较小的应用程序上使用,而不是用于生产级别的大型应用程序。
值得注意的是,我有一个生产应用程序早些时候我使用Aurelia CLI开始开发,但基于上述原因改用JSPM。但最近,我从头开始使用CLI重新构建了同一应用程序,我意识到它更容易使用,特别是在管理模块和发布方面! 而且这是一个带有Google Maps,Google Analytics,Auth0,DevExpress,Bootstrap等组件的应用程序。
我认为现在是时候给Aurelia CLI一些关注了。它已经准备好了。
http://aurelia.io/blog/2017/08/18/aurelia-cli-webpack-update/
现在,您可以更加灵活地选择自己的偏好。