Webpack功能合并失败

时间:2018-08-10 19:26:52

标签: webpack webpack-4

全部 在使用最新的Webpack进行生产构建期间,我遇到了奇怪的行为:

代码示例:

export const addRoute = (match, callback) => {
  init();
  allRoutes.push({
    match: new RegExp(match),
    callback
  });
};

function init() {
  allRoutes = [];
  console.warn('init hash');
  event = document.createEvent("Event");
  event.initEvent("popstate", false, true);

  window.addEventListener('popstate', executeRoute);
  init = () => {};
}

编译为(BABEL + minify):

t.addRoute = function(e, t) {
    !function() {
        i = [];
        console.warn("init hash");
        o = document.createEvent("Event");
        o.initEvent("popstate", !1, !0);
        window.addEventListener("popstate", r);
        (function() {}
        )
    }(),
    i.push({
        match: new RegExp(e),
        callback: t
    })
}

这会引起麻烦->我无法noit我的init函数,它会在每次调用addRoute时执行。不好。

在生产模式下从webpack @ 3-> webpack@4.16.5切换时会出现问题。

有什么办法可以取消这种行为? 我检查了uglifyJS->看起来这不是他的工作(但我不确定)

0 个答案:

没有答案