OtshelnikFm
@OtshelnikFm
Обо мне расскажет yawncato.com

Как при компиляции файла учитывать и js функции?

Привет.
Вебпак не учитывает функции в home.js файле при сборке

Для примера такая конструкция:

home.js
jQuery(function($){
    console.log('home1');
});

function somea(){
    console.log('home2');
}

function someb(){
    console.log('home3');
}

console.log('home4');


в минифицированном виде ведет в bundle.js в такую:

bundle.js
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t){jQuery(function(e){console.log("home1")}),console.log("home4")}]);


как видим: у меня только home1 и home4 присутствует. А то что внутри функций - не вошло в сборку (home2 и home3 из function somea() и function someb() соответственно).

Подскажите: почему так?

Вебпак 5.6.0

Конфиг:
const path = require('path');

module.exports = {
  entry: './home.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  }
};
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
SnaIP
@SnaIP
Front-end разработчик
Возможно из за того что они ни где не используются?

tree shaking ( могу ошибаться )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы