四省网站建设,wordpress dplayer解析,外贸业务流程,品牌建设归哪个部门管首先就是我们的代码是运行在浏览器上的#xff0c;但是我们开发大多都是利用node进行开发的#xff0c;在浏览器中并没有node提供的那些环境。这就早成了运行和开发上的不同步问题。 -----引言
浏览器模块化的问题#xff1a;
效率问题#xff1a;精细的模块划分带来了更…首先就是我们的代码是运行在浏览器上的但是我们开发大多都是利用node进行开发的在浏览器中并没有node提供的那些环境。这就早成了运行和开发上的不同步问题。 -----引言
浏览器模块化的问题
效率问题精细的模块划分带来了更多的JS文件更多的JS文件带来了更多的请求降低了页面访问效率兼容性问题浏览器目前仅支持ES6的模块化标准不支持COMJS存在兼容问题当然目前其实只要不是特别老的浏览器都没有问题可以忽略不记。工具问题浏览器不支持npm下载的第三方包。 这仅是其中的一部分问题在日常开发中遇到的业务问题就已经很头痛了还要再关注这些兼容性执行效率问题会很痛苦。
node的问题更少
上面提到的问题在node端没有那么明显在node端运行的JS文件在本地因此可以本地读取文件它的效率比浏览器远程传输文件高的多。出现构建工具的根本原因还是在浏览器端开发时态devtime和运行时态runtime的侧重点不一样。开发的时候对于工作人员来说模块划越细代码书写越整洁越好而对于浏览器运行来说呢文件越少越好减少请求次数代码越少越少好进行代码压缩混合。
具体
开发时态devtime
模块划分越细越好支持多种模块化标准支持npm或其他包管理器下载的模块能够解决其他工程化的问题
运行时态runtime
文件越少越好文件体积越小越好代码内容越乱越好所有浏览器都要兼容能够解决其他运行时的问题主要是执行效率问题
解决办法
既然开发时态和运行时态面临的局面有巨大的差异因此我们需要有一个工具这个工具能够让开发者专心的在开发时态写代码然后利用这个工具将开发时态编写的代码转换为运行时态需要的东西。 这样的工具叫做构建工具 这样一来开发者就不需要去关注什么我该使用什么样的导出导入方式兼容性问题你会在需要的时候调用构建工具使他转换目标代码。
看到了很多webpack和vite的面试题但是本人一开始看的时候看的不是很懂别准备写一个连载博客讲解每一个知识点和附带的webpack的面试题。