我试图决定是否应该将Angular CLI用于新项目。我这样做的主要原因是为了避免现在设置新项目的麻烦,而是专注于学习新的Angular并构建应用程序。
我来自Angular 1.x所以对我来说麻烦源于学习除了新Angular之外的所有新工具。大多数文档引用了systemjs,但webpack似乎是社区的方向,所以我想走这条路。
我更愿意学习并使用Angular工具链(包括webpack),但我想尽可能地将其推迟一点。我一般不喜欢"黑盒子"比如CLI。
我想首先使用CLI,然后在我有时间投资了解有关webpack等的更多信息时,将在某一点上脱离。我的问题是:CLI对我有什么限制,可以我将来很容易脱离它,在使用它作为一种快速入门方式之前,我通常应该考虑什么呢?
答案 0 :(得分:17)
在Angular-cli可用之前,我开始使用Angular 2,而它是在Alpha中。在这个早期阶段,我在构建环境中苦苦挣扎 - 我正在使用systemjs和一大堆自制的意大利面条代码来处理转换,缩小,捆绑等等。我花了每个小时编写角度代码,但似乎我在构建环境上花了两个小时。我学到了很多东西吗?当然。这是好用的时间吗?不是特别的。
angular-cli改变了所有这一切。它由Angular团队构建,用于完成角度开发人员所需的所有开发和构建任务。它总是在不断改进,当遇到问题时,它们很快得到解决。我现在可以使用“ng new projectname --style = scss”在几分钟内创建一个ng2项目。我可以使用“ng serve”立即在开发模式下运行。更改会自动编译。我可以使用“ng build -prod -aot”进行生产,并且可以在几分钟内完成我的整个ng2项目,并提前编译(aot)预编译和树木抖动。
所以我对任何人的建议都是这样的。如果你想快速进入构建ng2应用程序的认真工作,而不是浪费你的时间自己重新创建构建和生产环境,那么使用angular-cli。
如果你有时间燃烧并希望通过angular2了解更多关于引擎盖下方的内容,那么请自己动手;你一定会更好地了解事物;但无论如何你最终会使用angular-cli。
答案 1 :(得分:1)
我打算反对使用CLI。
我从RC之前的早期就开始使用Angular 2。事实上,当时存在很多混乱,不得不处理所有这些包装解决方案(require.js,system.js,webpack)。我不得不承认,那时候并不是一个愉快的时光,而且耗费了很多时间。
<强> BUT 强>
如今,我在设置构建和部署方面拥有强大的技能。我已经尝试了很多可能的方法来配置它并实现伟大。最近我们不得不在办公室为我们的webapp开发插件架构。猜猜是什么,知道webpack已经为我的皮肤节省了大量时间。我找到了一个不太好的初始解决方案。最后,在对其进行抛光并利用webpack之后,我们创建了一个非常好的解决方案,只需极少的代码,而不会干扰webpack或角度架构。
如果没有经常处理webpack的痛苦,我就没有机会做到这一点。我经常听到同行们对webpack和angular如何工作的误解。我会尽力解释一些事情,但没有什么能比你自己做的更好。我很遗憾地说,但躲在CLI后面对你没有好处。我信任创建新架构的高级开发人员必须拥有扎实的webpack,angular和typescript专有技术。
如果你不能正确地理解这些工具,那么你将被置于那种应用现有模式的琐事中,这些模式永远不值得信赖,可以在野外丛林中出现,并为其他人创造新的架构。你需要能够自己思考并做出自己的决定。
<强>结论强>
查看CLI是否是当前任务的工具,并相应地进行选择。不要盲目遵循你看到的第一个建议。如果你负责一个项目并且你必须做主,那么了解webpack是必须的。
答案 2 :(得分:0)
我和你的情况相同,但在对这个问题进行了大量研究后,我得出结论,使用CLI构建Angular 2项目是完全没问题的。
Angular团队支持CLI,并且通过大型社区不断开发 - 甚至是turorial和NG2-Book使用CLI作为配置。
CLI使用Webpack集成并通过CLI json公开配置,但我很快就读到了可以使用命令&#39; ng eject
&#39;自行弹出webpack配置文件(如果需要)。
我相信未来(即使是现在),使用带有集成webpack的CLI是正常的,而不是使用Webpack作为单独的捆绑包。