当前位置: 首页 > 网络应用技术

NPM和WebPack解决了什么问题?

时间:2023-03-07 10:42:55 网络应用技术

  上一篇文章详细介绍了Esmodule的使用和特征。现在,主要的主流浏览器支持Esmodule,因此您可以直接在标签中引入Esmodule模块化文件。您只需要添加它。

  但是,直接在浏览器中使用Esmodule存在许多限制。

  所有文件必须介绍

  您不仅要介绍输入文件,还需要将其引入import files.entry.js引入两个因文件。当将Entryx.html引入entry.js时,您还需要介绍依赖性文件API.JS和sum.js。

  index.html

  eSmodule只需要介绍诸如Commlyjs之类的输入文件。当模块文件变得更多并且模块分散在各种目录中时,我们很难管理。此外,在大型项目中,每次都加载了许多文件,从而导致性能非常差,因此这种开发模型无法满足需求。

  文件地址必须完全介绍

  针对上述问题,出现了NPM和WebPack。

  NPM的全名是Node Package Manager,它是Nodejs软件包管理和分发工具。

  我们可以使用NPM来解决模块分散在各种项目中的问题。NPM解决的核心问题是模块管理的问题。NPM原理的分析如下:

  首先,通过NPM初始化一个项目,并在该项目中的package.json中写下有关该项目的信息,例如名称,版本等。他们,仓库主要分为两个部分:公共和私人。NPM主要通过私人收费。公共仓库分为正常和组织。

  NPM的局限性

  性能缓慢的问题是由于模块过多,这会在加载时引起很多请求。您可以将所有模块包装到bundle.js文件中,然后加载。难道无法解决缓慢的性能问题吗?

  因此,Webpack诞生了。

  最初,WebPack Core的核心解决方案是代码的合并和拆分。它的核心概念是将资源视为一个模块,包装和处理均匀。它还为扩展提供了加载程序和插件。WebPack之所以像今天一样热,是因为它提供了两个功能:加载程序和插件,它已大大扩展了其功能。您可以参考下图,WebPack的作用。

  我们可以看到WebPack官方网站的图片,我们可以知道WebPack只能做两件事。首先,将不同的资源包装到文件中,然后根据规则将其分为JS CSS图像。

  一词中,今天的内容是:模块化提高了开发效率,但牺牲了访问性能,因此出现了NPM和WebPack。

  原始:https://juejin.cn/post/709854571473660488