webpack5打包后代码分析

打包前代码 index.js  (入口)


export default { 
    value:'qwer1234',
    test(){
        console.error('测试' )
    }
}

import './a'

a.js

function x(){
    console.error(123)
}
x()
export {x}

输出为库并且brary.type =='var' name='MyLibrary'打包后:

var MyLibrary
;(function () {
	;('use strict')
	// 定义A变量
	var __webpack_require__ = {}

	!(function () {
		// 定一个方法循环为变量添加属性
		__webpack_require__.d = function (exports, definition) {
			for (var key in definition) {
				if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
					Object.defineProperty(exports, key, {enumerable: true, get: definition[key]})
				}
			}
		}
	})()
	// 该方法判断对象是否含有对应属性prop
	!(function () {
		__webpack_require__.o = function (obj, prop) {
			return Object.prototype.hasOwnProperty.call(obj, prop)
		}
	})()

	// 为对象添加属性,值  Object.prototype.toString.call(__webpack_exports__) =》;('[object Module]')
	!(function () {
		// define __esModule on exports
		__webpack_require__.r = function (exports) {
			if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
				Object.defineProperty(exports, Symbol.toStringTag, {value: 'Module'})
			}
			Object.defineProperty(exports, '__esModule', {value: true})
		}
	})()

	var __webpack_exports__ = {}
	// ESM COMPAT FLAG
	__webpack_require__.r(__webpack_exports__)

	// EXPORTS
	__webpack_require__.d(__webpack_exports__, {
		default: function () {
			return /* binding */ test
		},
	})
	// CONCATENATED MODULE: ./packages/test/a.js
	function x() {
		console.error(123)
	}
	x()
	var test = {
		value: 'qwer1234',
		test() {
			console.error('测试')
		},
	}

	MyLibrary = __webpack_exports__
})()
//# sourceMappingURL=index.js.map

输出的代码可以直接在浏览器运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值