我有一个现有的javaee应用程序,其中有多个页面用JSP编写。
我的要求是使用Angular 2在3个独立页面上创建功能。
所以在每个页面上,我将有一个包含Angular2组件的div,它对特定的表执行CRUD操作。页面的其余部分仍然是jsp。
Angular功能和页面完全不相关。例如,一个页面是管理帐户,其他产品等。
我是Angular2的新手,所以我的问题更多的是设计和部署。
1)我应该为每个功能创建3个不同的Angular 2应用程序,还是为3个组件创建一个应用程序。如果我做后者,那么我的根组件会是什么样的?
2)如何在现有的Javaee应用程序中导入Angular2应用程序?我应该编译。然后复制捆绑包吗?
正如我所提到的,我是Angular2的新手,所以任何指导都会非常有用。
答案 0 :(得分:1)
Angular适用于“单页应用程序”,加载它通常很昂贵,但是当它已经加载时便宜导航。
您可以使用Angular CLI构建和提供应用。您需要构建 - 由“ng build”(Angular CLI命令)生成,以包含在war文件中,并可能将index.html的内容移动到某些JSP中。
你是否经历过Angular教程(英雄之旅)?如果没有,试一试,很多事情会让你更清楚。
修改强>
也许您可以考虑在Angular中重写现有的JSP,因此它就是一个带路由的应用程序。但是如果你真的需要在JSP中加载它3次,我可能只会编写一个带有四个模块的应用程序 - 三个代表页面,看起来像AppModule。在main.ts中,您将根据应用程序配置加载模块。最后一个模块将是它们之间共享的代码。这样可以比3个独立的应用程序更容易维护。
启动模块
在main.ts中,您通过调用platformBrowserDynamic()。bootstrapModule(AppModule)来启动应用程序。因此,您可以导入所有模块并仅引导其中一个模块。如果使用Angular CLI,还可以导入“environment”= configuration,这样就可以根据它来决定加载哪个模块。