Js源码
问题
有问题才需要去寻找答案,如果没有任何问题,说明根本没有任何必要去寻找。
如何在浏览器里边执行代码?
利用(function() {})(module),只不过这里会首先经过bable的转换,类似如下:
{0: [function(require, module, exports) {
"use strict";
var _a = _interopRequireDefault(require("./a.js"));
var _b = _interopRequireDefault(require("./b.js"));
var _c = _interopRequireDefault(require("./c.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
(0, _a["default"])();
(0, _b["default"])();
(0, _c["default"])();
},
{"./a.js":1,"./b.js":2,"./c.js":3}],1: [function(require, module, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _default = function _default() {
console.log("a");
};
exports["default"] = _default;
}
可以看到,经过bable转换,变成了具有exports["default"]。这样就可以通过递归,一层层的来不断的执行了。