个人博客 个人博客
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

董先亮

前端react开发
首页
  • 前端
  • 后端
  • Git
  • Docker
  • 网络
  • 操作系统
工具
阅读
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 高德地图接入
  • 以鼠标为中心缩放
  • 银行卡号验证
  • 前端规范化
  • 二维码与条形码
  • 监控设备接入
  • 获取鼠标位置坐标
  • node、npm关系
  • node-sass版本问题
  • html实现拖拽
  • npm发包
  • rullup打造工具库
  • 九宫格拖拽
  • 前端项目审核
  • 多次引用相同文件的打包问题
  • 前端面试题
  • websocket即时通讯
  • 前端专题
NeverStop1024
2023-07-08

多次引用相同文件的打包问题

//demo.js--相当于vue
export default {
  test(argu) {
    console.log(argu)
  }
}

//test1.js --相当于某个组件

import demo from './demo'

export default {
  test1() {
    demo.test(1)
  }
}

//test2.js --相当于另一个组件
import demo from './demo'

export default {
  test1() {
    demo.test(2)
  }
}

//add.js --入口文件

import Test1 from './test1'
import Test2 from './test2'

Test1.test1()
Test2.test2()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

在 test1.js, test2.js中都引入demo.js,并且exoprt 出依赖demo.js的方法,然后再在app.js中引入 test1.js, test2.js webpack打包后打开bundle.js,找到demo部分 vTvU7m 我们发现在bundle.js中引入的文件都被分成了带有序号(num)的“代码片”,通过__webpack_require__(num)来引入对应的模块,而我们import两次用来测试的demo.js也只是被打包成了序号为2的代码块,由此我们可以推论出:
不同文件中多次import同一个文件,webpack并不会多次打包,只会在打包后的文件中会多次引用打包后的该文件对应的函数

编辑 (opens new window)
上次更新: 2023/07/09
前端项目审核
前端面试题

← 前端项目审核 前端面试题→

最近更新
01
mock使用
07-12
02
websocket即时通讯
07-12
03
前端面试题
07-09
更多文章>
Theme by Vdoing | Copyright © 2022-2023 NeverStop1024 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式