【发布时间】:2019-08-11 03:43:33
【问题描述】:
我花了几天时间让 Webpack 启动并运行,并且刚刚进行了测试。但是我发现 webpack 中的 bundle.js 文件做了很多对我来说没有意义的不必要的事情。
index.js
import greet from './greet';
console.log("I'm the entry point");
greet();
greet.js
function greet() {
console.log('Have a great day!');
};
export default greet;
超级简单。但是 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, n) {
"use strict";
n.r(t);
var r = function() {
console.log("Have a great day!");
};
console.log("I'm the entry point"), r();
}
]);
似乎 WebPack 做了很多对我来说毫无意义的不必要的代码。 bundle.js 的文件大小也是 index.js 和 greet.js 的 3 倍。对于如此简单的事情,应用程序的开发构建也看起来非常混乱和混乱。
那么我为什么要继续花时间在我的项目中使用 WebPack? 它输出的所有额外代码是什么,为什么会在那里? 是否有更好的替代方案可以帮助我从模块化开发环境中发布代码?
非常感谢您帮助我理解为什么我应该或不应该使用 WebPack。
谢谢!
【问题讨论】:
-
在没有任何捆绑的情况下用 React 编写一个大型应用程序,看看你的进展如何:)
标签: javascript webpack frontend