mskr
@mskr

Как исключить функцию из минификации?

Добрый день!

В laravel mix при компиляции для продакшена модуль .js() автоматически минифицирует файл и искажает названия функций.

Можно ли глобально или для определенных функций отключить это искажение названия?

Нашел в доке для babel такую настройку, но она не срабатывает
{
  "plugins": [
    ["minify-mangle-names", { "exclude": { "foo": true, "bar": true} }]
  ]
}
  • Вопрос задан
  • 244 просмотра
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
То что определено в глобальной области видимости минификация не искажает.
А то что внутри вам особо не должно быть нужно, все равно вызвать не сможете из вне.

Для всего остального есть другие решения.
Так что вы что-то делаете неправильно изначально.

В целом никогда не видел чтобы можно было где-то исключать конкретные функции из минификации, только файлы целиком.
Если речь про последнюю версию laravel mix/webpack, то смотреть сюда https://github.com/webpack-contrib/terser-webpack-...
Так как там не babel вообще отвечает за минификацию. (babel вообще про другое если что)
Ответ написан
Комментировать
mskr
@mskr Автор вопроса
В общем сделал так: в src/js завел две папочки: minify и normal - в последнюю кинул файлы (в которые поместил нужные функции), не требующие минификации
webpack.mix.js
.js('src/js/minify/*.js', 'js/scripts.compiled.js')
.combine(['js/scripts.compiled.js', 'src/js/normal/*.js'], 'js/scripts.js')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы