我现在正在为我的最后一年项目开发一个基于Spring + Hibernate + Spring Security + REST API的Web应用程序。
当我开始动态前端时,我注意到Angular2显着改变了他们的技术。 Angular2比Angular1容易得多,而且它比Angular1快得多。所以我对了解AngularJS1并不感兴趣。
现在我正在尝试学习Angular2。我注意到有很多用于部署Angular2项目的JavaScript和TypeScript技术。像gulpjs,nodejs,Systemjs,babelJS等。但是对我来说,在这个时候学习如此多的前端技术对我来说太过分了。我现在不想学习NodeJS。
我需要知道有没有办法通过Maven或gradle构建工具和Tomcat服务器部署Angular2应用程序?
我已经知道了一些jQuery和Angular1。那么,我现在应该去那些吗?
答案 0 :(得分:1)
Angular2是在TypeScript中开发的,您将找到的大多数资源都是TypeScript。所以,一般来说,如果你可以使用TypeScript进行开发会更好。
话虽如此,您还可以在ECMAScript5(也就是常规JavaScript)中编写Angular2代码。
如果你在ES5中开发,那么你的后端是什么并不重要。您所要做的就是在发送给用户的HTML页面中包含必要的<script>
标记,并且您最好使用Angular2。后端通常提供REST服务,可以在许多语言/环境中创建,包括Java / Spring。
您可以注意到,在上面的设置中,您根本不需要Node。您甚至可以使用Maven或类似工具运行Jasmine测试。
但是,如果您选择在TypeScript中编写代码,则必须至少处理转换步骤。如果可能在浏览器中发生(例如angular.io的plunker),但是会有性能损失,大到足以使这种方法对于足够大的项目而言是不切实际的。
另一方面,我不知道(虽然没有搜索过),但可能有Maven的TypeScript插件。
总而言之,您可以开发没有Node的Angular2,但是您必须自己处理Node的工具会给您带来的一些任务。测试,缩小,丑化等任务。使用Node,所有这些都交给你(例如,使用Karma和WebPack)并且有大量的教程。没有Node,你可以自己将它们粘合在一起。这绝对是可行的,但确实有其警告。
答案 1 :(得分:0)
您可以在任何HTTP服务器上运行它。只需构建您的angular2项目,并将javascript文件(在构建后从您的应用程序中创建的dist文件夹)放在您服务器的Web部署文件夹中。您可以创建maven / gradle项目,然后将这些文件放入项目Web内容目录中。