【学习笔记】不加分号怎么辣?!!!(webpack相关)

111 阅读2分钟

日常开发中,我们写代码时的";",是不是觉着无关紧要.全凭个人习惯呢?

之前,有人告诉我,是效率的问题.(可能有这个原因)计算机在执行我们代码的时候,是把我们能看懂的代码转换成了计算机可以看懂的代码;也就是常说的打包,那么常用的打包工具有webpack.那我们就从webpack打包工具聊起,学过webpack的同学都知道,webpack打包流程是基于一个bundle.js文件:

  1. 通过对入口文件entry的分析,获取到一个抽象语法树然后根据抽象语法树可以拿到(需要使用babel的一些依赖)依赖文件和文件代码.
  2. 之后再递归依赖文件,拿到所有的代码对象;
  3. 通过一个代码生成的函数处理拿到的代码对象,让他转换一个计算机能识别的函数;
  • 这个函数返回一个自执行的闭包函数
  • 函数内要构建require方法和exports对象;

代码如下(自己实现的bundle): script文件夹-代码需要node运行;

那么分号到底怎样了呢?

image.png 这里一开始是没有写分号的,执行结果如下

image.png 它会把exports={}当做函数去执行;

加上分号后exports={};

image.png 加上分号后,计算机就可以知道你这个是赋值语句,不会跟你定义的函数关联起来了. 所以;,尽量还是要在每一个语句的结束加上的,特别是在写这类打包代码的时候,因为这个函数返回的是一个字符串,他只能依靠你的;判断语句的结束;

个人理解,待大佬指点...