如何在本地生成grunt的生产模型中运行Mean.JS

时间:2015-10-29 01:57:02

标签: node.js heroku meanjs

问题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构建来跟踪问题,但它不起作用。

请帮忙!

2 个答案:

答案 0 :(得分:2)

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

grunt prod

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

答案 1 :(得分:0)

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

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