我有一个项目在1337端口上运行sails app并在3000上做出反应。如何将这两个部署到单个heroku实例?它在1337上运行并在3000上作出反应。
答案 0 :(得分:2)
您需要将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',
// ...
}
&#13;
config/routes.js
。如果存在,请删除以下行。这可确保当有人访问http://localhost:1337
时,Sails将在index.html
文件夹中搜索assets
。
'/': {
view: 'homepage'
}
&#13;
更新React应用程序,以防它使用Sails中的API(请记住,我们已经更改了API前缀)。还要确保应用程序入口点为index.html
。
编译您的React应用程序(通过Webpack或Grunt或您正在使用的任何打包工具)并将编译后的文件复制到Sails assets
文件夹。
将Sails应用程序部署到Heroku。
完成!
更好但更繁琐的解决方案是将React开发迁移到Sails。我在Google上找到了an example。它可能已过时,因为上次更新是2016年2月,但您应将其用作参考。