在生产中运行平均堆栈应用程序

Posted

技术标签:

【中文标题】在生产中运行平均堆栈应用程序【英文标题】:Run mean stack app in production 【发布时间】:2013-12-15 17:21:58 【问题描述】:

我只是在玩 MEAN 堆栈,但我不知道如何在生产模式下运行我的应用程序来执行一些基准测试。网站 mean.io 说:

要在不同的环境下运行,只需在调用 grunt 时指定 NODE_ENV

$ NODE_ENV=test grunt

如何将变量传递给 grunt?

编辑: 我正在使用 Windows

【问题讨论】:

【参考方案1】:

要确定应用程序是在生产模式还是开发模式下运行,它会检查 NODE_ENV 环境变量,这是您将在 shell 中设置并从节点读取的变量。

如果您想在生产模式下运行grunt,请使用:

$ NODE_ENV=production grunt

这将设置变量仅用于本次执行

如果要永久设置NODE_ENV,请使用export

$ export NODE_ENV=production
$ grunt

在您的生产服务器上,您可以使用此行编辑.bashrc 以永久设置NODE_ENV

更多信息,您可以阅读this blog post。

编辑: 在 Windows 上,在命令行上使用 set NODE_ENV=production。请参阅this relevant question 了解如何永久设置此变量。

【讨论】:

我明白了。我错过了它是 bash/shell 命令。我忘了提到我正在使用 cmd.exe :) 更新了我对 Windows 的回答。 您不需要 sudo 来设置 NODE_ENV 变量。但是,如果在生产中使用受限端口(this question。【参考方案2】:

以下命令适用于我的情况:

grunt prod

请注意,我使用 mean.js 版本 0.4.2 并在文件 $HOME_PROJECT_FOLDER/gruntfile.js 中找到此配置

【讨论】:

以上是关于在生产中运行平均堆栈应用程序的主要内容,如果未能解决你的问题,请参考以下文章

平均堆栈轮询应用程序不显示数据,可能不保存它

运行容器会停止另一个容器

在heroku中部署平均堆栈应用程序时出错

在 Heroku 问题上部署平均堆栈应用程序

如何在平均堆栈应用程序中处理实时消息?

TypeError:无法读取平均堆栈中未定义的属性“upvote”