vue进阶知识点(1)——模块化开发

为什么要有模块化 ?
  • 三大框架都用到了模块化的思想,由此可知,模块化变得越来越常见

  • 发明JS语言的目的操作html和css,让页面更酷炫一点,是一种脚本语言

  • 199几年的时候,js使用非常简单,直接写script标签,稍微操作页面元素就可以了

  • 随着ajxs和前后端分离的思想,前端的代码越来越复杂,

  • 客户端做的事情越来越多,代码量越来越多,开始创建js文件,

  • 不再在页面中直接写script标签,js文件多了之后需要维护

多个js文件会造成哪些问题 ?
  • 项目中有三个角色,A和B和C

  • 分别开发自己的模块

  • B和C创建的js文件都要引入到一个main.js文件中

  • B创建的文件里有一个flag变量为true

  • C创建的文件里有一个flag变量为false

  • B在另一个文件中引入自己刚刚创建的变量flag,可是显示的是false

  • 找了一宿bug,发现不是自己的错,就去找C的文件,发现是他也创建了这个变量

  • 这就是全局变量命名冲突的问题,

  • 除了变量名以外,在main.js文件中引入其他js文件的顺序也会有影响

  • 以前的解决方案是匿名闭包,就是为每一个js文件创建立即执行函数,把代码放到函数里

  • 虽然解决了命名冲突,因为在自己的作用域内创建自己的变量,但是匿名闭包也会有问题

  • 但是在后续创建的文件内想使用之前B里的flag变量,

  • 不能再使用了,也就是说代码的复用性降低了,只能重新定义

  • 说白了就是aaa.js文件的东西,bbb.js用不了

使用ES5模仿模块化可以解决代码复用的问题
  • 在每一个立即执行函数内搞一个空对象obj,然后把需要的变量和函数写成obj.name或者obj.age

  • 在最后return出去

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值