我有一个项目,它在 1337 端口上运行 sails 应用程序并在 3000 端口上使用react。如何将两者部署到单个 heroku 实例?它在 1337 上运行并在 3000 上 react 。
最佳答案
您需要将 React 与 Sails 集成。
React 都是关于静态文件(例如 HTML、JS 和 CSS)。要将 React 与 Sails 集成,一个简单的解决方案是将编译后的 React 文件复制到 Sails assets
文件夹。
以下是我在全新的 Sails 应用程序中尝试过的操作。它确实有效。
- 编辑
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/