Sails +对单个heroku服务器做出反应?

时间:2017-04-04 11:24:57

标签: node.js reactjs heroku sails.js

我有一个项目在1337端口上运行sails app并在3000上做出反应。如何将这两个部署到单个heroku实例?它在1337上运行并在3000上作出反应。

1 个答案:

答案 0 :(得分:2)

您需要将React与Sails集成。

React完全是关于静态文件(例如HTML,JS和CSS)。要将React与Sails集成,一个天真的解决方案是将已编译的React文件复制到Sails assets文件夹。

以下是我尝试使用全新的Sails应用程序。它只是有效。

  1. 修改config/blueprints.js以更改API前缀。从现在开始,API从http://localhost:1337/<RESOURCE>更改为http://localhost:1337/api/<RESOURCE>
  2. &#13;
    &#13;
    module.exports.blueprints = {
      // ...
      
      prefix: '/api',
      
      // ...
    }
    &#13;
    &#13;
    &#13;

    1. 修改config/routes.js。如果存在,请删除以下行。这可确保当有人访问http://localhost:1337时,Sails将在index.html文件夹中搜索assets
    2. &#13;
      &#13;
      '/': {
        view: 'homepage'
      }
      &#13;
      &#13;
      &#13;

      1. 更新React应用程序,以防它使用Sails中的API(请记住,我们已经更改了API前缀)。还要确保应用程序入口点为index.html

      2. 编译您的React应用程序(通过Webpack或Grunt或您正在使用的任何打包工具)并将编译后的文件复制到Sails assets文件夹。

      3. 将Sails应用程序部署到Heroku。

      4. 完成!

      5. 更好但更繁琐的解决方案是将React开发迁移到Sails。我在Google上找到了an example。它可能已过时,因为上次更新是2016年2月,但您应将其用作参考。