Можно ли исключить части javascript с помощью grunt-contrib-uglify?

Я использую grunt-contrib-uglify для процесса сборки js и очень хотел бы очень хотелось бы иметь возможность исключать определенные части кода из окончательной сборки.

Итак, что-то вроде:

/*BuildExcludeBegin*/
Run this code during development, but don't include it in the minified.js
/*BuildExcludeEnd*/

Кто-нибудь знает, возможно ли это с grunt-contrib-uglify?


person Rok Sprogar    schedule 08.09.2017    source источник
comment
Вы получили какое-либо решение для этого? Я просто хочу того же.   -  person Samir    schedule 13.11.2017


Ответы (3)


grunt-contrib-uglify этого не предлагает. Но вы можете использовать: https://www.npmjs.com/package/grunt-strip-code

Цитата с той страницы:

ворчание-стрип-код

Плагин grunt-strip-code используется для удаления участков кода из производственных сборок, которые необходимы только в средах разработки и тестирования. grunt-strip-code использует начальный и конечный комментарии, чтобы указать разделы кода, которые нужно удалить. Например:

/* test-code */
removeMeInProduction();
/* end-test-code */

doNotRemoveMe();

Вариант использования этой практики — сделать частные функции JavaScript доступными для модульных тестов, не раскрывая их в производственных сборках. В этом сообщении в блоге более подробно рассказывается о концепции и реализации.

person user5542121    schedule 08.09.2017

Я думаю, что нет функции, позволяющей исключить фрагменты кода. Можете ли вы разделить свой код на отдельные файлы, которые вы можете исключить отдельно? И не являются mangle или mangle.properties подходит вам?

person wrager    schedule 08.09.2017

Это можно сделать с помощью grunt-contrib-uglify, это называется Условная компиляция теперь как...

if (DEBUG) {
    console.log("debug stuff");
}

https://github.com/mishoo/UglifyJS2#conditional-compilation

person fvrab    schedule 05.11.2019