如何将应用程序部署到具有2个节点服务器和2个反应前端的Heroku?

时间:2018-02-06 02:58:08

标签: node.js reactjs heroku deployment dyno

一开始,我创建了一个带有反应前端的节点应用程序(使用webpack)。在子文件夹中,我创建了一个节点并反应聊天应用程序,该应用程序使用socket-io进行实时协作。这个聊天应用程序也有自己的package.json和webpack.config.js文件。

文件结构如下:

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文件或者是否有必要。或者我需要部署2个独立的应用程序吗?还是2个单独的dynos?

主文件夹中package.json文件中的启动脚本:

"start": "node server/index.js"

主文件夹中package.json文件中的启动脚本:

"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']
       }
      }
    ]
  }
};

0 个答案:

没有答案