Parcel 到来?webpack 遇到挑战?
最近 Parcel 刚刚在github 上发布引爆前端,短短几天时间 github 上超过了10000 Star,一时间业内都开始对Parcel 保持关注。在 Parcel 的github官网上能看到他写的:
Blazing fast, zero configuration web application bundler
快速的,零配置的webpack 应用打包工具
而此时webpack 也在紧锣密鼓的收集webpack 4.0 的alpha 版的反馈,通知各个loader plugin 作者升级配套相关loader 和 plugin。
https://github.com/webpack/webpack/issues/6179
这些变化都让我们不得不感觉到前端的快速变化,不断的有新的轮子造出来,试图解决 web 应用的繁杂配置。
在web 前端开发中配置项目起始架构、配置工程化一直是一个十分重要的工作,而 webpack 复杂配置一直是一个痛点,很多配置参数互相影响,很多插件没有文档更有先后调用顺序之分,更加上糟糕的文档,把大多数常用的内部插件并没有给出详细的介绍,都大大提高了webpack 配置前端工程的门槛。所以我们应该会感到不奇怪,有后来者开始挑战webpack 的统治地位。
Parcel 是一个快速号称零配置的打包工具,但是他仍然依赖我们那些熟悉的业内工具,也就是说如果你需要使用babel,你仍然需要在你得项目更目录下有一个babelrc,如果你需要使用postcss,你仍然需要在项目下有一个.postcssrc。但是他提供了一种新的思路,也希望在对于开发者的门槛降低上作出努力,让更多的开发者,从繁杂的工程配置中解放出来。和webpack不同的是,他可以接受一个html作为一个入口开始分析打包,而且他试图在打包速度上也做出了非常多的努力。他使用worker 进程启用多核编译,而且还有强大的缓存,利用缓存能够更加的提高加载速度。而且同时他还具有
- 模块热替换
- 代码分拆
其实可以看出来Parcel 在试图集成大多数用户可能会用到的那些功能,他试图去解决主流的前端工程所遇到的问题。但是零配置的同时某一方面来说也意味着放弃了灵活性(和webpack 相比),更多的配置被隐藏起来或没实现,比如你可以使用代码分割,却不能指定代码分割的粒度等。
而此时的webpack 也在不断的提升自己,在最新的 4.0 版本中,他大力的提升了自己的打包速度,同时也会利用缓存和并行处理。
所以作为前端开发者来说,我们会发现,无论工具如何的变化他背后的解决问题的方式和所要解决的问题场景并不会跟随着工具的变化而变化。所以我们要做的就是拥抱这些不断更新的工具,更加重要的一点是了解他们背后解决的问题,和整体前端优化的原则。因为只有这个才是真正推动这些工具不断更新和迭代的原动力。
最后欢迎大家来学习我的最新课程: 前端工程优化之webpack 全功能详解,其中涉及到了大量的优化讲解和场景分析,而不仅仅是介绍webpack 这个工具,更多的是结合其他的工具如何优化处理整个前端开发中会遇到的问题。
共同学习,写下你的评论
评论加载中...
作者其他优质文章