Webpack 4.x не сообщает мне, когда импорт не определен - PullRequest
0 голосов
/ 10 июня 2018

Использование Webpack 4.12

Если я пытаюсь импортировать что-то из модуля, где модуль существует, а то, что я пытаюсь импортировать, нет, веб-пакет не упоминает об этом.

Например, если я попытаюсь выполнить одно из следующих действий (либо с помощью harmony, либо commonjs):

import {shouldnotwork} from 'core-js';
const {shouldnotwork} = require('core-js');

Затем Webpack просто продолжит, как будто проблемы не возникает.В этих случаях shouldnotwork будет undefined.

Между тем на моем огромном сайте с тоннами файлов все страницы и функции, использующие этот компонент, просто не будут работать во время выполнения.Естественно, я не пойму этого, если не попытаюсь использовать каждую функцию моего сайта.

Итак, я попытался использовать strictModuleExceptionHandling, , который кто-то предложил онлайн .

In webpack.config.js
config.output = {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js', 
    strictModuleExceptionHandling: true
};

Это абсолютно ничего не сделало.Я правильно его использовал?

Я также подумал о том, чтобы попытаться использовать strictExportPresence, , которые кто-то предложил .Но согласно их документации , он устарел и будет удален.

Я хочу, чтобы Webpack печатал что-то на консоль, которая предупреждает меня, когда я пытаюсь импортировать что-то, что несуществует (и приводит к неопределенному).

Я привык к этой функциональности, потому что моя текущая система сборки Gulp.js + Browserify не берет пленных.Я хочу переключиться на Webpack, но это массовая задержка показа, пока я не смогу достичь того же уровня контроля качества, который у меня уже есть.

Итак, что я могу сделать, чтобы это стало возможным?

Спасибо

1 Ответ

0 голосов
/ 22 августа 2018

Прежде всего, я должен был сообщить Babel об ошибке при пропущенном импорте, установив modules: false в конфигурации webpack-preset-env.Это заставило Webpack выдавать предупреждения.

Во-вторых, установка config.module.strictExportPresence = true превратила эти предупреждения в ошибки компиляции.

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