Node.js 如何将应用程序部署到具有2个节点服务器和2个前端的Heroku?
起初,我创建了一个带有react前端(带有webpack)的节点应用程序。在一个子文件夹中,我创建了一个node and react聊天应用程序,它使用socket io进行实时协作。此聊天应用程序也有自己的package.json和webpack.config.js文件 文件结构如下:Node.js 如何将应用程序部署到具有2个节点服务器和2个前端的Heroku?,node.js,reactjs,heroku,deployment,dyno,Node.js,Reactjs,Heroku,Deployment,Dyno,起初,我创建了一个带有react前端(带有webpack)的节点应用程序。在一个子文件夹中,我创建了一个node and react聊天应用程序,它使用socket io进行实时协作。此聊天应用程序也有自己的package.json和webpack.config.js文件 文件结构如下: root - package.json - webpack.config.js - server - client - database - chat_folder -- package.json -- web
root
- package.json
- webpack.config.js
- server
- client
- database
- chat_folder
-- package.json
-- webpack.config.js
-- client
-- server
我决定采用这种架构,将聊天服务器与应用程序的其余部分分开,但保留对共享数据库的访问
向Heroku部署这种架构应用程序的最佳方式是什么
我最初的想法是“移动”或将聊天应用程序的package.json文件合并到根文件夹的package.json中?以某种方式添加到package.json的启动脚本以启动聊天服务器。我不知道如何从脚本启动2台服务器。我也不确定如何更改2个webpack.config文件,或者是否有必要。或者我需要部署两个单独的应用程序吗?还是两个单独的Dyno
主文件夹中package.json文件中的启动脚本:
"start": "node server/index.js"
"start": "node server/index.js",
主文件夹中package.json文件中的启动脚本:
"start": "node server/index.js"
"start": "node server/index.js",
两个文件夹中的webpack.config.js文件看起来相同:
var path = require('path');
var SRC_DIR = path.join(__dirname, '/client/src');
var DIST_DIR = path.join(__dirname, '/client/dist');
module.exports = {
entry: `${SRC_DIR}/index.jsx`,
output: {
filename: 'bundle.js',
path: DIST_DIR
},
module : {
loaders : [
{
test : /\.jsx?/,
include : SRC_DIR,
loader : 'babel-loader',
query: {
presets: ['react', 'es2015', 'env']
}
}
]
}
};