我有这个简单的代码:
const express = require('express');
const chalk = require('chalk');
const debug = require('debug');
const morgan = require('morgan');
const path = require('path');
const app = express();
const port = process.env.PORT || 3000;
app.use(morgan('tiny'));
app.use(express.static(path.join(__dirname, '/public')));
app.use('/css', express.static(path.join(__dirname, '/node_modules/bootstrap/dist/css')));
app.use('/js', express.static(path.join(__dirname, '/node_modules/bootstrap/dist/js')));
app.use('/js', express.static(path.join(__dirname, '/node_modules/jquery/dist')));
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, '/views/index.html'));
});
app.listen(port, () => {
debug(`listening on port ${chalk.green(port)}`);
});
问题是,无论我做什么,启动应用程序listening on port 4000
的输出都不会出现,但是其余的一切都正常,一切都会正常进行。它应该100%工作,也许您可以帮助我。谢谢!
答案 0 :(得分:0)
根据文档和您的应用程序,这里是应用程序,修改后的内容和输出的精简示例。
文档:https://www.npmjs.com/package/debug
您的应用(经过微调和修改)-请注意添加了something
。这就是调试附加的内容
const express = require('express');
const chalk = require('chalk');
const debug = require('debug')('something');
const app = express();
const port = process.env.PORT || 3004;
debug('some debug statement');
app.listen(port, () => {
debug(`listening on port ${chalk.green(port)}`);
});
来自终端线路的呼叫:
$ DEBUG=something node ~/path_to_your_project/project_name/app.js
输出:
Chriss-MBP-3:untitled1 lcsharp $ DEBUG =某个节点
~/WebstormProjects/untitled1/app.js
something some debug statement +0ms
something listening on port 3004 +9ms
答案 1 :(得分:0)
如果要使用debug
模块,则必须使用名称空间初始化记录器:
const debug = require('debug')('my-namespace')
默认情况下,根本不会记录debug
的输出,您需要使用DEBUG
环境变量来定义应记录的内容。取决于您使用的外壳,看起来可能像这样:
DEBUG=* node index.js
DEBUG=*
表示已记录所有内容,因为*
是通配符。
如果您只想登录my-namespace
,则必须为:
DEBUG=my-namespace node index.js
您可以将登录分为以下几个部分:
const debugApp = require('debug')('my-namespace:app')
const debugModuleA = require('debug')('my-namespace:module-a')
const debugModuleB = require('debug')('my-namespace:module-b')
通过my-namespace:*
,您可以登录app
,module-a
和module-b
对于nodemon
可以这样做:
DEBUG=my-namespace nodemon index.js