Проблема вывода журнала Webpack - PullRequest
0 голосов
/ 20 июня 2019

У меня есть webpack - основанный node.js проект. Когда я запускаю его (npm run start), он переходит к функции openBrowser (react-dev-utils), и внутри него, по-видимому, не удается скомпилировать приложение. Выходные данные журнала просто failed to compile и ничего больше, поэтому мне нужен способ показать трассировку стека. Вот часть кода скрипта start.js, которая уместна здесь:

const devServer = new WebpackDevServer(compiler, serverConfig);
// Launch WebpackDevServer.
devServer.listen(port, HOST, err => {
  if (err) {
    return console.log(err);
  }   
  if (isInteractive) {
    clearConsole();
  }   
  console.log(chalk.cyan('Starting the development server...\n'));
  openBrowser(urls.localUrlForBrowser);
}); 

Я подозреваю, что мог бы добавить некоторый параметр к webpack.config.json для достижения этого. Может быть, webpack сообщения просто маскируются react-dev-utils, не уверен, но в этом случае их может потребоваться изменить. Любые предложения будут с благодарностью.

Обновление

Мне удалось улучшить вывод журнала, изменив параметр clientLogLevel для конфигурации webpackDevServer. Тем не менее, это не достаточно подробно, чтобы понять, что происходит не так. Это Redux проект, и модуль не может скомпилироваться, но нет соответствующего вывода о том, почему это происходит. Я проверил свойство devtool в файле webpack.config.js, и оно установлено на eval, что кажется правильным в зависимости от потока:

Как найти файл, из которого исходит ошибка React / Redux?

Я также добавил следующее к своему plugins:

function(){   
    this.plugin("done", function(stats){   
        if (stats.compilation.errors && stats.compilation.errors.length)
        {   
            console.log(stats.compilation.errors);
            process.exit(1);
        }   
    })  
}   

Который я нашел здесь: https://github.com/webpack/webpack/issues/708

Не повезло, трассировка стека бесполезна и не показывает мне, где находится синтаксис / другие ошибки.

Обновление

В конечном итоге оказалось, что настройка линтера для проекта слишком строга и не позволяет выполнить компиляцию из-за незначительных проблем форматирования: табуляция вместо двух пробелов и т. Д. Поскольку я использовал vim, мне нужно было указать форматирование для javascript и jsx файлы в .vimrc:

Настройка параметров пробела Vim по типу файла

Я был сбит с толку, потому что думал, что простые варианты форматирования не должны полностью завершаться компиляцией. Вывод журнала фактически показывал проблемы с форматированием. Было бы интересно узнать, какие настройки в webpackDevServer вызывают такое поведение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...