Плагин Babel transform-remove-console не работает с Vue CLI 4 @vue/cli-plugin-babel/preset?
С помощью проекта VueJS, созданного Vue CLI 4, вы можете настроить Babel с помощью этого удобного пресета в babel.config.js
:
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset',
],
};
Я пытаюсь использовать https://babeljs.io/docs/en/babel-plugin-transform-remove-console для удаленияconsole.*
из встроенных файлов JS.
Установил плагин как зависимость разработчика: npm i -D babel-plugin-transform-remove-console
Затем модифицировал babel.config.js
:
module.exports = (api) => {
var env = api.cache(() => process.env.NODE_ENV);
var plugins = [];
// Change to 'production' when configs are working
if (env === 'development') {
plugins.push(['transform-remove-console', { exclude: ['error', 'warn'] }]);
}
return {
presets: ['@vue/cli-plugin-babel/preset'],
// plugins,
// Doesn't work even when always on?
plugins: ['transform-remove-console'],
};
};
Это должно работать, запустив npm run serve -- --reset-cache
, и я также много раз пытался создать приложение в разных средах, но журналы консоли все еще отображаются в консоли браузера?
Предустановка Vue CLI каким-то образом смешивает его из-за невозможности устанавливать плагины через этот файл конфигурации?
ОБНОВЛЕНИЕ: Создал отчет об ошибке для репозитория Vue CLI, и при создании репозитория с минимальным воспроизведением ошибок я обнаружил, что этот плагин работает с новым проектом.
Однако я понятия не имею, что вызывает это, поскольку я синхронизировал это приложение с новейшим загружаемым шаблоном CLI, а также попытался очистить кеш NPM с помощью `npm cache clean --force.
2 ответа
Кажется, предложение @Zydnar о ядерной бомбардировке node_modules
папка, возможно, помогла, однако я также обнаружил, что мои недавние обновления пакетов NPM были прерваны и не были полностью успешными. Были некоторые плагины Vue CLI разных версий.
После атомной бомбардировки node_modules
и обновив все пакеты, этот плагин Babel начал работать!
Я столкнулся с той же проблемой. Это не сработало:
plugins: ['transform-remove-console']
Но это сработало:
plugins: [['transform-remove-console', { exclude: ['error', 'warn'] }]]
Надеюсь, это поможет другим, кто столкнется с той же проблемой.