如何将NodeJS应用程序转换为war文件

问题描述 投票:0回答:1

我创建了一个仪表板,前端使用 React JS,后端使用 Node JS。我已经为 React JS 项目构建了构建文件夹,现在构建文件夹位于 Node JS 应用程序内部。 我的意思是,当我启动 npm 时,服务器开始在 localhost 4000 上运行,并且能够从构建文件夹访问前端的所有文件,这意味着当我运行 Node js 服务器时该项目正在运行在本地系统上。 问题是我想将这个基于 Node JS 的应用程序转换为 war 文件,以便我能够将其部署在 apache 服务器上。 我对整个部署内容很陌生,因此欢迎任何帮助。

node.js reactjs apache deployment war
1个回答
0
投票

node.js 旨在创建您自己的 http 服务器,运行您的 javascript 代码, 还有一种方法可以安装express模块来创建express服务器来运行你的node.js应用程序,同样有很多不同的库可以通过创建服务器来创建和运行node js应用程序,tomcat意味着java http web服务器,这是java兼容运行环境。

您已尝试创建构建,您的

package.json

"homepage":"http://localhost:8080/YOURAPPNAME",  
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build"    
  }

如果您使用maven,您可以访问

pom.xml
,您可以进行配置,为产品配置配置文件,使用
org.codehaus.mojo

<configuration>
  <environmentVariables>                                
    <PUBLIC_URL>http://frugalisminds.com/${project.artifactId}</PUBLIC_URL>
    <REACT_APP_ROUTER_BASE>/${project.artifactId}</REACT_APP_ROUTER_BASE>
  </environmentVariables>
</configuration>

您可以在 app.jsx 文件中设置您的

BrowserRouter

<BrowserRouter basename={process.env.REACT_APP_ROUTER_BASE || ''}> 

您可能需要配置

web.xml
将错误重定向到索引页面,

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
          version="2.4">
  <display-name>YOUR REACT SERVLET PROJECT NAME</display-name>
  <error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
  </error-page>    
</web-app>

现在要创建

war
mvn package
,您可以探索
webpack-war-plugin

© www.soinside.com 2019 - 2024. All rights reserved.