解析webpack打包CommonJS时生成代码

介绍

前端模块化开发通常会用到commonJS或ES6提供的模块化语法,此处介绍通过commonJS时,webpack打包生成文件的代码
webpack版本:3.6.0

打包前的文件

在这里插入图片描述

// main.js
const {
   add, mul } = require('./mathUtils.js')

console.log(add(20, 50))
console.log(mul(20, 50))
// mathUtils.js
function add(a, b) {
   
    return a + b;
}

function mul(a, b) {
   
    return a * b;
}

module.exports = {
   
    add,
    mul
}

// index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="./dist/bundle.js"></script>
</body>
</html>

打包后

终端运行webpack ./src/main.js ./dist/bundle.js 进行打包
在这里插入图片描述
在这里插入图片描述
打包生成bundle.js,注意我们已经在index.html中引入了它,此时运行index.html,在控制台中可以看到运行结果
在这里插入图片描述
一切正常,接下来进入正题,开始解析源码

代码解析

完整代码
/******/ (function(modules) {
    // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {
   };
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
   
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
   
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
   
/******/ 			i: moduleId,
/******/ 			l: false,
/******/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 要还原 Webpack 打包后的 JavaScript 代码,可以使用 source-map。source-map 可以将打包后的代码映射回原始的代码,使调试更加方便。 你可以在 webpack 配置文件中设置 devtool 选项来生成 source-map: ``` module.exports = { // ... devtool: 'inline-source-map', // ... }; ``` 然后,在浏览器中打开调试器,单击打包后的代码文件,即可看到原始的 JavaScript 代码。 请注意,这种方法仅适用于开发环境,不适用于生产环境,因为生成的 source-map 文件会增加代码体积,降低性能。 ### 回答2: 要还原经过webpack打包js代码,可以按照以下步骤进行操作: 1. 确认项目的webpack配置文件位置,通常为项目根目录下的webpack.config.js文件。打开该文件,可以查看到webpack的配置选项。 2. 首先需要安装依赖项,以便能够还原打包代码。在命令行中切换到项目根目录下,然后运行以下命令安装webpack和相关插件: npm install webpack webpack-cli --save-dev 3. 配置一个简单的webpack.config.js文件,在其中指定入口文件和输出路径。例如: const path = require('path'); module.exports = { entry: './src/index.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist'), }, }; 4. 使用webpack命令进行打包,将原始代码打包成bundle.js文件。在命令行中输入以下命令: npx webpack --config webpack.config.js 等待webpack完成打包操作后,会生成一个bundle.js文件,存放在配置的输出路径(dist文件夹)中。 5. 在网页中直接引入还原过的bundle.js文件,即可使用还原后的代码。 <script src="dist/bundle.js"></script> 通过以上步骤,就可以还原经过webpack打包js代码。首先配置webpack.config.js文件,然后使用webpack命令进行打包,最后将生成的bundle.js文件引入到网页中即可。这样就能够还原被打包处理过的代码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tanleiDD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值