要在一个项目中运行两个Node.js项目,您需要按照以下步骤操作:
导航到命令行中的第一个node.js项目的根目录。
运行以下命令以安装第一个项目的软件包中列出的所有依赖项。JSON文件:
npm install
使用以下命令运行第一个项目:
node app.js
注意:用第一个项目的主文件的名称替换“ app.js”。
打开一个新的命令提示符或终端窗口,并导航到您的第二个node.js项目的根目录。
重复第二个项目的步骤2和3。
现在您有两个Node.js项目同时运行。但是,它们尚未彼此集成。
要集成两个项目,您需要创建一个新文件,该文件将充当两个项目的入口点。该文件将导入两个项目的主要文件并将它们一起启动。
创建一个名为“ server.js”或您喜欢的任何其他名称的新文件。
在新文件中,导入两个项目的主要文件并将它们一起启动。这是一个示例:
const app1 = require('./first-project/app.js');
const app2 = require('./second-project/app.js');
app1.listen(3000, () => console.log('First project running on port 3000'));
app2.listen(4000, () => console.log('Second project running on port 4000'));
注意:替换“ ./first-project/app.js”和“ ./second-project/app.js”,分别是您第一个和第二个项目的主要文件的路径。另外,将端口号替换为您要用于每个项目的端口。
保存新文件并使用以下命令运行:
node server.js
现在两个项目都应该一起运行。您可以通过进入第一个项目的“ http://localhost:3000”和第二个项目的“ http://localhost:4000”来访问它们。
彻底测试这两个项目,以确保一切都按预期工作。
步骤您必须遵循
- 使用以下命令:
npm install http-proxy-middleware
- 在您的第一个Node.js项目的主文件中,导入HTTP-Proxy-Middleware模块:
const { createProxyMiddleware } = require('http-proxy-middleware');
- 为您的第二个Node.js项目创建代理中间件:
const secondProjectProxy = createProxyMiddleware({
target: 'http://localhost:4000', // Replace with the address of your second project
changeOrigin: true,
});
- 在同一主文件中,创建http.server的新实例:
const server = require('http').createServer();
- 为服务器的请求事件添加侦听器:
server.on('request', (req, res) => {
if (req.url.startsWith('/second-project')) {
// Use the proxy middleware for requests to the second project
secondProjectProxy(req, res);
} else {
// Handle requests for the first project
// ...
}
});
此代码检查请求URL是否以“/second-prodject”开头。如果确实如此,则使用代理中间件将请求转发到第二个项目。否则,请求由第一个项目处理。
- 启动服务器并在所需的端口上收听:
server.listen(3000, () => {
console.log('Server running on port 3000');
});
- 在您的第二个项目中,您需要确保将其配置为在其他端口上收听,例如4000个示例。
使用此设置,两个Node.js项目都在单独的端口上运行,但可以使用第一个项目的服务器在同一端口上访问。第一个项目的请求直接通过其自己的代码来处理,而第二个项目的请求通过代理中间件转发到该项目。