what is parcel

文中有视频,建议在wifi环境下观看,并使用电脑

为了传视频,发现自己的服务器带宽不行,特别卡,然后弄的oss,发现oss好便宜啊!!

parcel是什么呢???首先我们得了解,parcel做的事情跟webpack差不多,只是差不多。之前在官网出现过类似“开箱即用”、“0配置打包”等字样,看样子是一个主打简洁的一个打包工具。

之前我接触的打包工具有什么gulp,grunt,webpack,还听说过browserify和fis(听说过,没有用过)都是打包工具,但是当我发现有这么个parcel的时候,这玩意真的是另辟蹊径啊。在webpack中,js是“一等公民”,从我们在webpack配置入口文件是js就可以看出来。但是parcel竟然可以以html文件为入口文件,这我就感觉很牛逼了,毕竟我从一开始就认为html应该是最基础的,是用户或者说客户端最先接收到的文件,然后剩余的文件都是从html文件直接或者间接引入的。

parcel's Features

? 极速打包 Parcel——使用 worker 进程去启用多核编译。同时有文件系统缓存,即使在重启构建后也能快速再编译。

? 将你所有的资源打包——Parcel 具备开箱即用的对 JS, CSS, HTML, 文件 及更多的支持,而且不需要插件。

? 自动转换——如若有需要,Babel, PostCSS, 和PostHTML甚至 node_modules 包会被用于自动转换代码.

✂️ 零配置代码分拆——使用动态import() 语法, Parcel 将你的输出文件束(bundles)分拆,因此你只需要在初次加载时加载你所需要的代码。

? 热模块替换——Parcel 无需配置,在开发环境的时候会自动在浏览器内随着你的代码更改而去更新模块。

? 友好的错误日志——当遇到错误时,Parcel 会输出 语法高亮的代码片段,帮助你定位问题。

官网还在最后贴出与其他打包工具的打包速度对比(可见parcel是多以速度自豪)

是否有人跟我有一样的感觉,在一个需要测试或者熟悉某个库的时候,我很抵触去完全写一套webapck的配置,然后进行打包,才能看到真正的效果(可能有人说他们有事先写好的一个简单配置。。。额。。),所以之前真的很希望出现一个开箱即用,不需要态度配置,定制化的打包工具(webpack现已支持(⊙﹏⊙)),没想到啊,parcel就可以这样

废话不多说,how to use parcel

install

官方文档让我们直接全局安装,那我们就全局安装

npm install -g parcel-bundler
复制代码

这个时候我们已经就可以用parcel进行打包了

从上面我们可以看到,我们直接打包的时候,命令是parcel index.html,并且直接使用的是export / import照打不误,并且还有实时更新的功能。

react

我们工作中经常需要用到类似vue或者react的地方,我们公司用的react,所以我用react做演示,一样很快

这些视频我都没有加速,所以我们可以看出来,parcel的打包速度确实算是可以了,而且不需要配置babel或者postcss,因为parcel已经帮我们预设了一些,如果我们要改,当然也是可以的

自定义.babelrc

那我们来自己定义一下.babelrc,我们用ant design来试验一下。

这里不明白的可以看一下antd的文档,我们通过自定义.babelrc的内容,可以不用每次引入整个antd,不用单独引入antd的css文件。看效果我们只引入了antd的Button的组件。

scss and image

我们在写一个前端项目的时候,难免会用到。。。。肯定会用到css,而想less,sass这种预编译的语言肯定也都会用到,但是预编译,我们需要多一次转换,webpack中需要对应的loader来处理,但是parcel可以直接写

我在下面中提前保存了一张图片。

这里面偶然看见了parcel的一个特性,高亮的错误提示,很厉害啊,跟vue的类似,整个屏幕给你报错。。。。

这里面scss和图片我们都是直接饮用直接处理的

其余

我上面演示的只是parcel极少的一部分功能,parcel还可以打包多文件,还可以处理typescript啊,vue啊等文件

还可以进行线上打包,就是打包出来的代码是经过压缩过的。

我以为

其实我虽然感觉parcel很牛逼,几乎可以做到零配置就上手使用,但是对于现在复杂的工程化前端项目,千奇百怪的需求,对定制化要求极高的使用场景,我觉得parcel的用武之地不是很大

但是

我会用,就是在我看到一个新的库,一个感兴趣的插件,我肯定会用parcel来打包,因为不用考虑,直接打包看效果就ok了(虽然现在webpack)也可以做到了。。。。

不知道各位看官怎么看parcel这个打包工具呢???


我是前端战五渣,一个前端界的小学生。

转载于:https://juejin.im/post/5d0b0b245188256b150a38f0

前端战五渣学前端——初探Parcel急速打包相关推荐

  1. ashx获取input file 文件_前端战五渣学前端——FileReader预览本地文件

    距离上一篇博客将近一个半月了,这一个多月有点烦躁,静不下心来学习,也不知道为什么,玩的也不算太好,还感冒.可能是天气热了吧,有点点躁动.上周看了<哪吒--魔童降世>还不错,还看了新出的&l ...

  2. 前端战五渣学前端——跨域

    跨域(Cross-Origin) 这几年的工作.面试中,还遇到一个不能回避的问题,那就是跨域,一般面试的时候会问你'怎么解决跨域问题','跨域是什么','为什么会有跨域'等类似的问题.前段时间后端大佬 ...

  3. 前端战五渣学JavaScript——防抖、节流和rAF

    看了<JavaScript高级程序设计>和网上的一些博客,感觉对函数节流和函数防抖的概念是反的,以下我写的关于防抖和节流的概念取决于多数人的概念吧,并且基于伦敦前端工程师David Cor ...

  4. 前端战五渣学JavaScript——call、apply以及bind

    写这篇博客之前,我想先说下今天(2019年3月28日)一直关注的一件事吧(出于凑热闹的心情--尴尬).在昨天,全球最大交友网站Github上悄然出现一个名为996.ICU的文档项目,整个项目没有代码, ...

  5. 前端战五渣学React——JSX React.createElement() React.ReactElement()源码

    最近<一拳超人>动画更新第二季了,感觉打斗场面没有第一季那么烧钱了,但是剧情还挺好看的,就找了漫画来看.琦玉老师真的厉害!!!打谁都一拳,就喜欢看老师一拳把那些上来就吹牛逼的反派打的稀烂, ...

  6. 前端战五渣学JavaScript——闭包

    就决定是你了--闭包 有不少开发人员总是搞不清匿名函数和闭包两个概念,因此经常混用.闭包是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式,就是在一个函数内部创建另一个函数. ------ ...

  7. 前端战五渣学JavaScript——Promise

    我是要成为海贼王的男人 悟空已成神,鸣人已成影,待路飞成王之时,便是我青春结束时! 悟空陪布玛找寻龙珠,一路拳打比克.斩弗利萨,生个儿子战沙鲁,最后净化布欧,只因承诺要保护地球.鸣人"有话直 ...

  8. 前端战五渣学JavaScript——void 运算符

    最近有点忙,公司有个新项目要尽快上线,所以工作时间很长,没有太多的时间去学习和总结,所以博客也没空更新了.但是充足的工作量让自己觉得很充足,沉淀的知识也有了用武之地,还不错.今天就写写这两天突然想到的 ...

  9. 前端战五渣学JavaScript——前端数据存储

    说起前端数据存储,那就不得不提到Cookie.sessionStorage和localStorage,这是我们接触到的最熟悉的前端数据存储的单词,作为一个前端开发.前端工程师,这三个单词用没用过先不管 ...

  10. 有前端基础学前端要多久?

    来参加前端培训的同学有不少都是有一定前端基础的同学,大家都想知道有一定基础的情况下能不能学习的更快一些或者说有一定前端基础能不能学的更容易?下面小千就来给大家说道说道. 有前端基础学习要多久? 对于有 ...

最新文章

  1. iOS 一些基础的方法
  2. xdocument查找节点值_二叉查找树(java)
  3. spring项目链接RabbitMQ集群
  4. php开发工具 debug,php开发性能调试工具xdebug
  5. Java基础学习总结(140)——Java8 Stream之Stream流创建的几种方式
  6. 2021年中国以太网转换器市场趋势报告、技术动态创新及2027年市场预测
  7. DDK nmake : error 解决方法
  8. linux 显存占用内存,Linux服务器内存、CPU、显卡、硬盘使用情况查看
  9. iOS UIImageView设置为圆形
  10. j2ee建立在线聊天室详细教程(第一天登陆页面)
  11. 【html教程】非常全的主页设置代码,HTML代码教程
  12. shell脚本中的逻辑判断
  13. Windows 7 万能驱动下载 免费
  14. 全球及中国双十烷基二甲基氯化铵(DDAC)行业现状动态及供需前景预测报告2022-2027
  15. Android转接电话到iPhone,Android迁移数据到iPhone
  16. LabVIEW编程LabVIEW开发 十六进制转换ASCII例程与相关资料
  17. 关于远程连接挂载磁盘的理解(.bat文件、批处理)
  18. rust门卡有什么用_屠龙之技! 使用Rust加速你的Python
  19. ie浏览器float兼容性
  20. 解决MySQL报错:LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

热门文章

  1. ios13 微信提示音插件_iOS13免越狱修改微信提示音教程 iPhoneXS-11修改微信提示音教程...
  2. Grain Timers and Reminders
  3. Linux Regulator Framework(2) - regulator driver
  4. Python吴恩达深度学习作业15 -- YOLO原理及应用(自动驾驶——汽车检测)
  5. 滚球板球控制系统详解(openmv+stm32实现)
  6. UVA 10827 Maximum sum on a torus .
  7. 基于stm32f303cbt6的点灯实验(硬件+软件)
  8. 大数据开发学习脑图+学习路线清晰的告诉你!月薪30K很轻松
  9. MySQL的引擎初识
  10. 中文分词词库汇总(一)