Angularjs 如何将MEAN Stack部署到web主机

Angularjs 如何将MEAN Stack部署到web主机,angularjs,node.js,git,heroku,mean-stack,Angularjs,Node.js,Git,Heroku,Mean Stack,我有一个节点API和一个角度前端项目(通过grunt、bower、yeoman流结构)作为两个独立的github存储库。我正试图通过Heroku将它们推向生产。来自rails bg,应用程序中的所有内容都存在于同一个项目目录中,您只需推送一个目录,您将如何做到这一点?我应该把这两个项目作为单独的heroku项目来推进,还是有一个最佳实践?如果您能给我任何建议,我将不胜感激。首先,我要回顾一下 如果您有两个项目,您可能希望将它们部署为不同的heroku应用程序 这里的关键是确保您的package.

我有一个节点API和一个角度前端项目(通过grunt、bower、yeoman流结构)作为两个独立的github存储库。我正试图通过Heroku将它们推向生产。来自rails bg,应用程序中的所有内容都存在于同一个项目目录中,您只需推送一个目录,您将如何做到这一点?我应该把这两个项目作为单独的heroku项目来推进,还是有一个最佳实践?如果您能给我任何建议,我将不胜感激。首先,我要回顾一下

如果您有两个项目,您可能希望将它们部署为不同的heroku应用程序

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

还有几种方法可以部署—通过heroku cli、github链接或dropbox链接。我个人并不经常使用cli,但我发现另外两个使用起来很方便,特别是如果您已经在推广github的话

还有一个关键问题是,如果您需要使用bower安装依赖项,您应该知道heroku不会自己运行
bower安装。您可以通过向package.json中添加以下内容来告诉heroku运行它:

"scripts": {
  "postinstall": "bower install"
}
这将导致它在
npm安装完成后运行
bower安装


此外,如果您还没有这样做,您需要在某个地方与第三方提供商(如或)一起设置数据库。

添加了一些详细信息。。。