Day13 - 闭包应用6 - 构建器打包webpack

简介: Day13 - 闭包应用6 - 构建器打包webpack

基本概念


完整的手写webpack原理请看


大家一键三连后就可以观看了


🔥 📺 手写webpack


做了一夜动画,让大家十分钟搞懂Webpack


如何实现模块打包


网络异常,图片无法展示
|


A模块 a.js


// a.js
const time = Date.now()
module.exports = 'A:' + time


入口index.js


// index.js
const a = require("./a");
console.log(a);


运行webpack打包


npx webpack


网络异常,图片无法展示
|


  • 整体使用自运行函数 - 任何变量不污染全局


  • 变量 o 为模块集合


var o = {
  // 原来的a.js
  85: (o) => {
    const r = Date.now();
    o.exports = "A:" + r;
  },
},


  • function t 为exports、require模拟函数


r = {}; // 模拟exports对象
function t(e) {  // 模拟require函数
  var n = r[e];
  if (void 0 !== n) return n.exports;
  var s = (r[e] = { exports: {} });
  return o[e](s, s.exports, t), s.exports;
}


  • 入口为自执行函数 引用o 、t变量形成闭包


(() => {
  const o = t(85);
  console.log(o);
})();


  • 由于function t 是变量提升的所以 require函数也可以在子模块里调用 - 这个大家可以自己实验一下。


面试攻略



点评


  • 闭包处处都有,但是能说出经典应用又是一个难题。说Helloworld和背题没啥区别。


相关文章
|
18天前
|
缓存 监控
webpack 提高构建速度的方式
【10月更文挑战第23天】需要根据项目的具体情况和需求,综合运用这些方法,不断进行优化和改进,以达到最佳的构建速度和效果。同时,随着项目的发展和变化,还需要持续关注和调整构建速度的相关措施,以适应不断变化的需求。
|
18天前
|
存储 缓存 前端开发
利用 Webpack 5 的持久化缓存来提高构建效率
【10月更文挑战第23天】利用 Webpack 5 的持久化缓存是提高构建效率的有效手段。通过合理的配置和管理,我们可以充分发挥缓存的优势,为项目的构建和开发带来更大的便利和效率提升。你可以根据项目的实际情况,结合以上步骤和方法,进一步优化和完善利用持久化缓存的策略,以达到最佳的构建效果。同时,不断探索和实践新的方法和技术,以适应不断变化的前端开发环境和需求。
|
1月前
|
缓存 前端开发 JavaScript
Webpack 打包的基本原理
【10月更文挑战第5天】
|
1月前
|
前端开发 JavaScript
ES6模块化和webpack打包
【10月更文挑战第5天】
|
1月前
|
缓存 前端开发 JavaScript
深入了解Webpack:模块打包的革命
【10月更文挑战第11天】深入了解Webpack:模块打包的革命
|
2月前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
99 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
29天前
|
缓存 前端开发 JavaScript
Webpack技术深度解析:模块打包与性能优化
【10月更文挑战第13天】Webpack技术深度解析:模块打包与性能优化
|
1月前
|
前端开发 JavaScript 开发者
深入了解Webpack:现代JavaScript应用的打包利器
【10月更文挑战第11天】 深入了解Webpack:现代JavaScript应用的打包利器
|
2月前
|
JavaScript 前端开发
手写一个简易bundler打包工具带你了解Webpack原理
该文章通过手写一个简易的打包工具bundler,帮助读者理解Webpack的工作原理,包括模块解析、依赖关系构建、转换源代码以及生成最终输出文件的整个流程。
|
4月前
|
缓存 JSON 前端开发
Webpack打包优化实践
【7月更文挑战第17天】Webpack的打包优化是一个持续的过程,需要开发者根据项目的实际情况选择合适的优化策略。通过拆分代码、压缩代码、使用Tree Shaking、优化加载器配置、利用缓存以及进行性能分析,我们可以有效提升Webpack的打包效率和应用的加载