【问题标题】:Integrate Angular2 project into Tomcat server将 Angular2 项目集成到 Tomcat 服务器中
【发布时间】:2017-03-20 13:26:20
【问题描述】:

我为我的项目开发了一个 Spring maven rest api。对于客户端,我将 Angular2 与打字稿一起使用。作为 Angular 的新手,使用 npm 和 lite-server 引用 Angular 网站进行开发。

现在我需要将这两个独立的项目整合到一个项目中,通过将 html,js,css 文件集成到我的 maven 项目中,将其部署到 Tomcat 服务器中。

项目结构

客户端

Project
|__ app
      |_ all app files
|__ node_modules
|__ typings
|__ index.html
|__ package.json
|__ style.css
|__ systemjs.config.js
|__ tsconfig.json
|__ typings.json

服务器端

Project
|__ src/main
        |__ java
        |__ resources
        |__ webapp
                 |__index.html
|__ pom.xml

所有类似的帖子/博客,我发现建议用节点等更新 pom.xml。但我需要的是,

  • 将 angular-typescript 项目编译为 js 文件。
  • 生成一组功能齐全的 html、js、css 文件。
  • 将它们复制到服务器 webapp 文件夹或它们必须位于的任何位置。
  • 在 Tomcat 中运行 Spring maven 项目必须显示我的客户端索引页面
  • 当它们是两个独立的项目时,客户端必须以相同的方式工作(与 rest api 通信)

如何做到这一点?

在 Angular 项目根文件夹中运行此命令 npm run build 以创建一个 dist 文件夹,其中包含生产就绪的客户端文件。但是遇到了这个错误

缺少脚本构建

.

【问题讨论】:

标签: tomcat angular build


【解决方案1】:

终于用angular-cli了。 ng build --prod 创建生产就绪版本。复制tomcat webapps项目文件夹下的index.html和.js文件(或者eclipse中的Webcontent下)。

将 index.html 编辑为 <base href = "."> 并且效果很好

【讨论】:

  • @MendonAshwini 如果问题和答案对您有帮助,请给他们投票,这样它会很快覆盖到更多的人(不仅对我来说;))
  • 当然。我错过了赞成这个问题。回答我已经投票了
  • 我正在尝试通过与 Oracle WebLogic 服务器类似的方法将我的 Angular cli 项目部署到 Oracle WebLogic 服务器(我实际上是在使用 grunt-war npm 来构建要部署的战争)。如上所示,我已经调整了<base href = ".">。部署 war 文件后,我可以从 url 访问应用程序:[weblogic IP]:[port]/[appname],如果我只是单击链接,应用程序就可以正常工作。但是,如果我刷新页面或尝试通过 url 导航到特定页面,我会收到 404 错误。知道那是什么意思吗?
  • @ZackDeRose 我在这方面没有太多经验。最好你问一个新问题,SO中的某个人有更好的理解,可以帮助你。祝你好运!
  • @RamanujanR 感谢您的关注。我通过命令ng build --base-href /[app-name]/ 构建并将其包装在war 文件中(通过grunt)解决了这个问题。我还必须将我的 app.module.ts 文件中的 RouterModule 导入调整为:RouterModule.forRoot(appRoutues, {useHase: true}) 这将在应用程序名称和路径之间添加一个/#/,但据我所知,如果您将Tomcat 或 WebLogic 上的 Angular 应用程序。
猜你喜欢
  • 1970-01-01
  • 2021-11-16
  • 2015-10-20
  • 1970-01-01
  • 2017-03-03
  • 1970-01-01
  • 2018-09-04
  • 2013-11-27
  • 2013-03-01
相关资源
最近更新 更多