【问题标题】:How to run Mean.JS in production model with grunt locally如何在本地使用 grunt 在生产模型中运行 Mean.JS
【发布时间】:2016-01-29 00:46:59
【问题描述】:

问题 1:

我从 Github 官方仓库中克隆了最新的 mean.js 包,并一步步浏览了官方文档。现在我可以在我的机器上使用 grunt 命令运行 mean.js。但是,该应用程序正在开发模型中运行。即使我用这个命令运行它:

NODE_ENV=production grunt

不过,该命令的输出如下(仅与 grunt 相同):

Specification Management - Development Environment
Environment:                        development
Port:                               3000
Database:                           mongodb://localhost/mean-dev
App version:                        0.0.1
MEAN.JS version:                    0.4.1

有人知道如何在本地以生产模式运行它吗?

问题 2:

我将此应用程序部署到 heroku。我可以从日志中看出应用程序在生产模式下运行。但是,只有一个空白页,与这篇文章中的问题相同:Blank page on Heroku - mean.js angular app。我通过在运行它之前添加 grunt build 来解决这个问题,但它不起作用。

请帮忙!

【问题讨论】:

    标签: node.js heroku meanjs


    【解决方案1】:

    关于答案 2: 我有同样的问题。你的解决方案会很好用,但是如果你必须经常部署(就像我一样),记住不断重建你编译的 JS 文件会变得很烦人。相反,您可以将其设置为构建脚本安装后挂钩,heroku 将在正常构建过程中读取该挂钩。通过这种方式,它可以在 heroku 本身上运行相同的缩小 grunt 作业。我完成它的方式相当原始 - 你可以整理它并运行 JS 缩小,而不是完整构建......但你明白了。 使用以下内容修改 package.json 'scripts' 节点:

      "scripts": {
        "start": "grunt",
        "test": "grunt test",
        "postinstall": "bower install --config.interactive=false && grunt build"
      },
    

    【讨论】:

      【解决方案2】:

      答案 1: 我找到了在生产模式下运行应用程序的方法。命令是

      grunt prod
      

      答案 2: 官方 Mean.js 存储库在 .gitignore 文件中添加了 public/dist 文件夹。这就是编译后的 JS 文件没有上传到 Github 的原因,因此 Heroku 无法从我的仓库中获取它们。从 .gitignore 文件中删除条目后,一切顺利。

      【讨论】:

        猜你喜欢
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-26
        • 2021-02-02
        相关资源
        最近更新 更多