angularjs - 如何将 MEAN Stack 部署到 Web 主机

标签 angularjs node.js git heroku mean-stack

我有一个 Node API 和一个 Angular 前端项目(通过 grunt、bower、yeoman 流程结构)作为两个独立的 github 存储库。我正在尝试通过 Heroku 将它们推向生产环境。来自 Rails bg,其中应用程序中的所有内容都存在于同一项目目录中,并且您只需推送一个目录,您将如何执行此操作?我应该将这两个项目作为单独的heroku 项目推送还是有最佳实践?如果有任何建议,我将不胜感激,提前谢谢您。

最佳答案

首先,我会回顾一下 official Heroku doc on deploying nodejs apps

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

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

您还可以通过几种方式进行部署 - 通过 heroku cli、github 链接或 dropbox 链接。我个人并没有太多使用 cli,但我发现其他两个使用起来很方便,特别是如果您已经推送到 github 了。

还有一个关键的事情是,如果您需要使用 Bower 安装依赖项,您应该知道 Heroku 自行运行 bower install 。您可以通过将以下内容添加到 package.json 来告诉 heroku 运行它:

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

这将导致它在 npm install 完成后运行 bower install

此外,如果您还没有这样做,则需要通过第三方提供商(例如 mongolabmodulus )在某处设置数据库。

关于angularjs - 如何将 MEAN Stack 部署到 Web 主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408598/

相关文章:

ios - Xcode:禁用后启用Create Git Repository

javascript - 动态 AngularJS 表单

node.js - 如何使用 Docker-Compose 将多个 MEAN 应用程序容器部署到 Azure

node.js - Browserify 捆绑输出非常大,无法找到调试过程的方法

javascript - Heroku 部署 Node.js 时出错

node.js - npm install 尝试从随机 fork 安装

javascript - AngularJS 动态表单字段验证

javascript - AngularJS typeahead 调用 webapi

mysql - 如何使用sequelize和mysql设置默认值?

git - 从 GITHub 提交 url 中提取差异哈希