node.js - Sails + 在单个 heroku 服务器上使用react?

标签 node.js reactjs heroku sails.js

我有一个项目,它在 1337 端口上运行 sails 应用程序并在 3000 端口上使用react。如何将两者部署到单个 heroku 实例?它在 1337 上运行并在 3000 上 react 。

最佳答案

您需要将 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> .

module.exports.blueprints = {
  // ...
  
  prefix: '/api',
  
  // ...
}

  • 编辑config/routes.js 。删除以下行(如果存在)。这可以确保当有人访问 http://localhost:1337 时,Sails 将搜索 index.html里面assets文件夹。
  • '/': {
      view: 'homepage'
    }

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

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

  • 将 Sails 应用部署到 Heroku。

  • 完成!

  • 一个更好但更乏味的解决方案是将 React 开发迁移到 Sails。我发现an example在谷歌上。它可能已经过时,因为最后一次更新是 2016 年 2 月,但您应该将其用作引用。

    关于node.js - Sails + 在单个 heroku 服务器上使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205867/

    相关文章:

    ruby-on-rails - 在 Unicorn + Rails 应用程序中处理长请求

    javascript - React 可重用状态修改方法或组件

    javascript - Reactabular:如何改变一列的宽度? CSS 文件在哪里?

    javascript - 动态导入 - NextJS

    javascript - 如何将 Underscore.js 模板与 EJS 结合使用?

    node.js - ZeroMQ 与 socket.io

    php - 在 PostgreSQL 数据库的 bytea 字段中存储图像

    ruby-on-rails-3 - Heroku 上 Rails 的 Web 分析

    php - Heroku 上传和脚本执行限制

    node.js - 是否可以在基于 powerpc 的 Linux 上运行 Nodejs?