如何将MEAN Stack部署到Web主机

我有一个节点API和一个angular度前端项目(通过grunt,bower,yeomanstream程结构)作为两个独立的github存储库。 我试图通过Heroku推动他们两个生产。 来自rails bg应用程序中的所有内容都存在于同一个项目目录中,而且只需要推送一个目录,那么您将如何执行此操作? 我是否应该把这两个项目作为单独的英雄项目推出,还是有最佳做法? 我会很感激任何和所有的意见,提前谢谢你。

首先,我将回顾关于部署nodejs应用程序的官方Heroku文档

如果您有两个项目,则可能需要将其部署为不同的heroku应用程序。

这里的关键是要确保你的package.json设置正确。 确保你所有的依赖都是正确的,并且你的package.json指向你的节点服务器脚本。 确保你的开发依赖像grunt一样独立于生产依赖关系,因为这些不需要部署到生产环境。 如果这只是一个演示应用程序,你可以让heroku安装你所有的脚本(如angular),只需将它们包含在你的package.json中即可。 当你推送你的应用程序时,它将在你的package.json上运行一个npm install并安装依赖项。

有几种方法可以部署 – 通过heroku cli,github链接或Dropbox链接。 我还没有亲自使用过cli,但是我发现其他两个方便使用,特别是如果你已经推动github。

一个关键的问题是,如果你需要安装与鲍尔依赖关系,你应该知道,Heroku 不会自己运行bower install 。 您可以通过将以下内容添加到您的package.json来告诉heroku运行它:

 "scripts": { "postinstall": "bower install" } 

这会导致它在npm install完成后运行一个bower install

另外,如果你还没有这样做,你需要在第三方提供者的某个地方build立你的数据库(比如mongolab或模数 )。