当前位置: 首页 > 知识库问答 >
问题:

javascript - webpack优化的一些疑问,希望各位赐教?

小牛23056
2024-03-25

各位,目前在做一些项目优化的工作,有几个项目但是他们的webpack版本不一样,我想问问熟悉这方面的同学,关于多进程打包,多进程压缩各个版本之间是否存在差异?像webpack5这些本身是否就已经配置了?如果使用的是vuecli创建的项目会不会也配置了这些东西?还有splitChunks和tree shaking这些vuecli创建的项目或者说webpack本身是否自带的?第一次做这方面的优化,论坛上固然可查,但是依然让我心存疑问,以前只是学习的时候手动搭了几次webpack,但是并没有涉及到这些。希望懂的朋友可以不吝赐教,万分感谢。

共有2个答案

祁兴运
2024-03-25
  1. 新版本几乎一定比旧版本好,能升尽量升
  2. 一般来说默认配置不是最好的,而是比较普适的,但大体上不会有什么问题
  3. vuecli 应该是封装的 webpack 吧,打包压缩其实是 webpack 在做
  4. webpack 其实也只解决依赖管理,真正的转译和压缩其实是 babel 和 terser 在做
  5. 所以分包需要自己配
  6. 但是 tree shaking 如果我没记错的话需要调整 webpack 配置。因为前面说了,webpack 负责管理依赖,而 tree shaking 很显然和依赖相关
谭新知
2024-03-25

关于你的webpack优化问题,我为你提供一些基本的解答:

  1. 多进程打包和多进程压缩在webpack各版本间是否存在差异?

Webpack本身并不直接支持多进程打包或压缩。然而,有一些插件如thread-loaderhappypack可以实现多进程打包,这些插件可以与webpack的各个版本一起使用,但是可能需要不同的配置或版本以适应不同的webpack版本。

  1. webpack 5是否已经默认配置了多进程打包或多进程压缩?

webpack 5并没有默认配置多进程打包或多进程压缩。你需要自己安装并配置相关的插件来实现这些功能。

  1. 使用vue-cli创建的项目是否已经配置了多进程打包或多进程压缩?

这取决于vue-cli的版本和配置。在一些较新的vue-cli版本中,可能会默认使用thread-loader等插件来实现多进程打包,但这并不是所有版本都如此。为了确定是否已配置,你需要查看项目的webpack配置。

  1. splitChunks和tree shaking在vue-cli创建的项目中是否已经配置,或者webpack本身是否自带这些功能?

webpack本身自带了splitChunkstree shaking这两个功能。splitChunks是一个内置的优化插件,用于将公共的依赖模块提取到已有的入口chunk中,或者提取到新生成的chunk中。tree shaking则是一种通过静态分析的方式来消除无用的代码。

在vue-cli创建的项目中,这些功能通常也会被默认配置。你可以在项目的webpack配置中找到关于这些功能的配置。

总的来说,webpack本身提供了一些基本的优化功能,如splitChunkstree shaking,但更高级的优化功能,如多进程打包或多进程压缩,可能需要你自己安装并配置相关的插件。同时,vue-cli创建的项目可能会默认配置一些优化功能,但具体是否已配置还需要查看项目的webpack配置。

 类似资料:
  • 结果: 问题: 1.lis,ele=>ele.textContent中我把ele.textContent换成了lis.textContent结果出来的是一个undefine的集合,是为什么? 2.lis,ele=>ele.textContent我是否可以理解为Array.from(arr,function),然后返回元素的文本内容? 3.该怎么理解lis和ele之间的关系呢?(因为看到很多案例都是

  • 看了了许多文档,我的理解 JWT 本质上是一种将用户信息放到浏览器持久化的方案,这种方案要求服务端必须相信请求携带的 JWT 信息。 这种方案下是否能实现 用户权限动态变更的业务,比如踢人 若实现不了,需要服务端根据 JWT 查找用户信息, 是否又需要回归到 session 的解决方案

  • 双非硕非科班,用的牛客平台 笔试完第二天就约面了,周五九点多打电话约的周日 经典自我介绍 挖项目 问了问golang三大件(内存 并发 GMP) 讲了讲map 问了下计算机基础 操作系统内存管理和进程管理 计算机网络问了一个(网卡到应用层怎么走,我答了两个 一个dhpk直接写入内存,一个是内核读取后通知应用进行读取) 全程无手撕代码 三天还没人联系差不多就寄了(问了周围的小伙伴 golang无人进

  • 本文向大家介绍angularjs的一些优化小技巧,包括了angularjs的一些优化小技巧的使用技巧和注意事项,需要的朋友参考一下 关于优化ng的手段网上已经有很多了,核心都是从$$watchers这个作用域内部属性说起的,今天我来说点别的,本质还是不变的,因为这是ng的硬伤,不过我相信只要运用合适的手法,这些问题还是可以避免的. ng简介 angularjs简称ng,是google出品的mvvm

  • 现在遇到个这么个需求,就是项目用的vite的打包工具 我现在想实现把项目用vite打包, 然后把项目中的其中一两个组件也单独打包成一个js,类似于把其中一两个组件打包成组件库的js 也就是执行npm run build的时候既打包了项目,又打包了其中部分组件为组件库的js,供外部html直接引入这个打包好的js进行使用,这个有办法实现吗