如何在tomcat上使用angular cli和NodeJS部署Angular2应用程序开发

如何在tomcat上使用angular cli和NodeJS部署Angular2应用程序开发,angular,Angular,我是新来的角度(1或2)。我已经使用Angular cli构建了一个小型应用程序,并在NodeJs上运行。但是我的生产环境使用的是Tomcat。有没有一种方法可以在我的项目中不做太多更改的情况下完成它?是的,Angular项目只是JavaScript/TypeScript和HTML。您可以通过简单地处理文件将其部署到任何web服务器上。或者,您可以使用WebPack之类的工具将所有内容缩小/捆绑到单个JavaScript和HTML文件中,并将其复制到您的web服务器。我看到许多人在询问答案。以下

我是新来的角度(1或2)。我已经使用Angular cli构建了一个小型应用程序,并在NodeJs上运行。但是我的生产环境使用的是Tomcat。有没有一种方法可以在我的项目中不做太多更改的情况下完成它?

是的,Angular项目只是JavaScript/TypeScript和HTML。您可以通过简单地处理文件将其部署到任何web服务器上。或者,您可以使用WebPack之类的工具将所有内容缩小/捆绑到单个JavaScript和HTML文件中,并将其复制到您的web服务器。

我看到许多人在询问答案。以下是目前正在实施的步骤

  • 使用CLI创建项目
  • 有了工作项目后,转到命令窗口中的项目文件夹,并使用
    ng build--prod进行生成
  • 所有生成的文件都将位于dist文件夹中
  • 将所有文件从dist文件夹复制到Tomcat的webapps文件夹。 这是最重要的一步。没有这个,你只能看到“加载…”
  • 在index.html中,将
    更改为

  • 如果您使用的是angular router,则情况并非如此,此时它似乎只在NodeJs下运行。如果我错了,请纠正我。这对我来说是个大问题,我不认为这是真的。我目前使用的是RC1(使用现在不推荐使用的路由器),我已经在IIS下运行的RC4中测试了新路由器,它工作正常。我有一个带有HTML a标记的[routerLink]菜单。当我从“NPMStart”运行它时,它会加载并正常工作,通常在浏览器地址栏中显示“localhost:3000”。当我尝试从浏览器访问应用程序而不从“npm start”运行它时,页面在遇到[routerLink]时停止生成。这可能是由大量其他问题引起的,而不是节点与Tomact之间的问题。没有看到你的应用程序很难排除故障。感谢Boyan的快速回复。下面是我所做的:我在eclipse中创建了动态web项目,将应用程序和供应商文件夹复制到WebContent文件夹中,并将index.html、main.js、main.js.map、system-config.js、sys-config.js.map复制到WebContent目录中。my web.xml包含index.html。我试着在Tomcat8上启动它。它仅显示“正在加载…”。它无法识别标记,因此无法加载my_app.component.js中的内容。我有什么遗漏吗?