带有Angular2前端的Spring + Hibernate + Spring Security + REST API没有NodeJS

时间:2016-05-04 19:25:07

标签: spring spring-mvc spring-security angular

我现在正在为我的最后一年项目开发一个基于Spring + Hibernate + Spring Security + REST API的Web应用程序。

当我开始动态前端时,我注意到Angular2显着改变了他们的技术。 Angular2比Angular1容易得多,而且它比Angular1快得多。所以我对了解AngularJS1并不感兴趣。

现在我正在尝试学习Angular2。我注意到有很多用于部署Angular2项目的JavaScript和TypeScript技术。像gulpjs,nodejs,Systemjs,babelJS等。但是对我来说,在这个时候学习如此多的前端技术对我来说太过分了。我现在不想学习NodeJS。

  1. 我需要知道有没有办法通过Maven或gradle构建工具和Tomcat服务器部署Angular2应用程序?

  2. 我已经知道了一些jQuery和Angular1。那么,我现在应该去那些吗?

2 个答案:

答案 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内容目录中。