【问题标题】:Deploy nodeJS app in production mode in Dokku在 Dokku 中以生产模式部署 nodeJS 应用程序
【发布时间】:2019-10-31 22:17:08
【问题描述】:

当我通过 Git 将 nodeJS 应用程序部署到 Dokku 时,它会运行以下命令:

-----> Build
   Running build

   > my-project-name@0.0.0 build /tmp/build
   > ng build

这是一个 Angular 应用程序,我希望它以生产模式构建,即:ng build --aot --prod

如何影响 Dokku 构建阶段运行的命令?

这是我的package.json 中的scripts 部分:

  "scripts": {
    "ng": "ng",
    "start": "node server.js",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  }, 

我尝试在上面添加"postinstall": "ng build --aot --prod"。这确实在安装后运行了正确的命令,但随后构建阶段开始并再次运行ng build(因此覆盖了生产)。

也许我可以将上面的 "build": "ng build" 更改为添加 --aot --prod - 但我不确定在本地运行我的 Node 应用程序时会有什么影响,我从不想要 --prod

【问题讨论】:

    标签: node.js angular dokku


    【解决方案1】:

    您可以在本地机器上运行ng build --aot --prod,然后提交 dist 文件夹(从 .gitignore 中删除它)。 然后只需在项目的根文件夹中创建一个名为“.static”的空文件。

    然后在 dokku 服务器上运行:

    dokku config:set yourappname NGINX_ROOT=dist BUILDPACK_URL=https://github.com/dokku/buildpack-nginx

    然后运行“git push dokku master”。

    使用这种方法,您不必担心 package.json 脚本。

    【讨论】:

    • 有趣的方法!谢谢你,我会试一试的。
    • 不错!我很高兴它对你有用! :D
    猜你喜欢
    • 2018-09-01
    • 2016-12-03
    • 2017-11-19
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    相关资源
    最近更新 更多