NPM nodemon и отладка не выводятся в терминале - PullRequest
0 голосов
/ 06 октября 2018

У меня есть такой простой код:

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%, и, возможно, вы можете мне помочь.Спасибо!

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Если вы хотите использовать модуль 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
0 голосов
/ 06 октября 2018

В соответствии с документацией и вашим приложением, здесь приведен сокращенный пример вашего приложения, изменен и вывод.

документация: https://www.npmjs.com/package/debug

Ваше приложение (урезано и слегка изменено) - обратите внимание на добавление something.Это то, что debug присоединяет к

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: без названия1lcsharp $ DEBUG = что-то узел

~/WebstormProjects/untitled1/app.js
  something some debug statement +0ms
  something listening on port 3004 +9ms
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...