Login8
@Login8
Программист, критик, наватор

Почему webpack обфусцирует код и можно ли это отключить?

Здраствуйте.
Я в своих проектах вообще не использую сборщики на подобии webpack. Но вот решил проэксперементировать и был удивлен, когда "пропустил" мой код на js через webpaсk я увидел нечто такое:

(()=>{var r="/",t="linux"==process.platform?"\r\n":"\n",_=(t=["q","w","e","r","t","y","u","i","o","p","Q","W","E","R","T","Y","U","I","O","P","0","9","8","6","5"]).length,v=(f=p.length,""),y=0,C=0;for(h=0;h<c;h++)v+=i[h],y++,C<f&&y==p[C]&&(C++,y=0,v+=t[Math.floor(Math.random()*(_-1-0+1))+0]);return{result:v}}catch(S){var S=S.stack?String(S.stack):S;return e(S),{error:(S=S.replace(/\r?\n/g," ").replace(/\\/g,"\\\\").replace(/"/g,'\\\\"'))+" "}}}(r.data)).error?'{"error":"'+t.error+'"}':'{"result":"'+t.result+'"}'}}catch(o){var o=o.stack?String(o.stack):o;return e(o),'{"error":"'+(o=o.replace(/\r?\n/g," ").replace(/\\/g,"\\\\").replace(/"/g,'\\\\"'))+' "}'}}(async()=>{r+="/..";try{console.log("test v1.5"),app.use(express.json()),app.post("/",(async function(r,t){var e=await o(r.body);t.set("Content-Type","application/json"),t.send(e+"\n")})),app.listen(8331,"127.0.0.1",(function(){console.log("Listening 127.0.0.1:8331...")}))}catch(t){var t=t.stack?String(t.stack):t;e(t)}})()})();


это не весь код как вы понимаете, весь приводить нет смысла. Мне не понятно зачем он там обфусцирован. Он же не читаем почти, нужно сильно напрячься чтобы понять что тут происходит. Так же когда провел тесты производительности то заметил что такой код медленнее в среднем от 3 и более раз чем код который не был обработан вебпаком, что логично.

Пропускал код через вебпак стандартной командой npm run build

Вообщем вопросы такие:
1) почему код становится обфусцированым?
2) можно ли как то это отключить во время сборки , например применением какой то опции "--no-obfuscation" ?
3) стоит ли вообще применять такой код во фронтенде , если такой код становится медленнее работать?
  • Вопрос задан
  • 154 просмотра
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
"Почему обфусцирует?" - Для уменьшения размера
"Можно ли отключить?" - Надо выключить https://webpack.js.org/configuration/optimization/...
По поводу "медленнее" - это результат замеров или предположение?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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