在Openshift上运行debug node_module

时间:2015-04-05 16:00:44

标签: node.js express openshift

我最近开始使用Openshift,到目前为止它一直很棒。我目前的问题在于我的调试日志没有在Openshift的日志中显示。我以前用DEBUG=*,-express:* node ./bin/www在本地运行应用程序,它显示了我需要的一切。到目前为止,我还没有想到如何将其转换为package.json文件,以便它按预期工作。

package.json
{
  "name": "APP",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "DEBUG=*,-express:* node ./bin/www"
  },
  "main": "./bin/www",
  "dependencies": { ... }

在我看来,它正在使用node数据运行main命令,而不是我更喜欢的脚本。我相信调试模块是我代码上发送console.log()垃圾邮件的绝佳选择。

在OpenShift日志文件中,它在启动应用程序时显示以下内容。这是我的理解,我希望找到--exec和更改。

DEBUG: Running node-supervisor with
DEBUG:   program './bin/www'
DEBUG:   --watch '/var/lib/openshift/<app_ID>/app-root/data/.nodewatch'
DEBUG:   --ignore 'undefined'
DEBUG:   --extensions 'node|js|coffee'
DEBUG:   --exec 'node'
DEBUG: Starting child process with 'node ./bin/www'

1 个答案:

答案 0 :(得分:0)

如果查看文档here 并搜索&#34;标记&#34;,你会发现这个:

  

use_npm:

     

使用 npm start 初始化您的应用程序或服务   而不是 supervisor servername.js (其中servername.js基于   关于package.json的主要属性的值。

我仍然认为使用主管更好。但您可以通过

修改代码中的debug值
process.env.DEBUG='*,-express:*';

首次使用require之前(&#34; debug&#34;),至少作为临时解决方案。

HTH