繁体   English   中英

在Openshift上运行调试node_module

[英]Running debug node_module on 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": { ... }

在我看来,它正在使用main数据运行node命令,而不是我更喜欢的脚本。 我相信调试模块是在我的代码中向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'

如果您在此处查看文档并搜索“标记”,则会发现:

use_npm:

使用npm start而不是超级用户 servername.js (其中servername.js基于package.json的main属性的值)来初始化应用程序或服务。

我仍然认为使用主管更好。 但是您可以通过以下方式在代码中修改debug的值:

process.env.DEBUG='*,-express:*';

在第一次使用require(“ debug”)之前,至少作为临时解决方案。

高温超导

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM