博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
详解Parcel:快速,零配置web应用打包工具
阅读量:6367 次
发布时间:2019-06-23

本文共 1672 字,大约阅读时间需要 5 分钟。

译者按: 新一代Web应用打包工具Parcel横空出世,快速、零配置的特点让人眼前一亮。

  • 原文:
  • 译者:

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

图片描述

Parcel有什么特别的,我为什么要关心它?

虽然webpack提供了非常多灵活的配置,但是与之带来的是复杂度的提升,而Parcel却非常的简洁。Parcel自己的口号也是非常直白:零配置。

为什么这么神奇?— Parcel有一个开箱即用的开发服务器。 开发服务器会在您更改文件时自动重建您的应用程序,并支持以实现快速开发。

Parcel有什么好处?

  • 快速捆绑时间 - Parcel比Webpack,Rollup和Browserify更快。

图片描述

然而需要注意的是:Webpack仍然很棒,有时可能会更快
<img src="parcel/bundler_time2.png" />

  • Parcel支持JS,CSS,HTML,file assets等等,并且不需要插件配置,用户体验更友好。
  • 零配置需要:开箱即用的代码分割,热模块重新加载,css预处理器,开发服务器,缓存等等!
  • 更友好的错误日志。

图片描述

图片描述

:及时发现Bug,提高Debug效率!

什么情况下使用Parcel,Webpack或Rollup?

其实主要取决于你自己,但我个人会通过以下情况来选择适合的:

Parcel: 中小型项目(1.5万行代码以内)。

Webpack: 大型企业规模项目。
Rollup: 用于NPM包。

安装非常简单

npm install parcel-bundler --save-dev

我们在本地安装了的npm包,现在我们需要初始化一个node项目。

图片描述

接下来,创建index.htmlindex.js 文件。

图片描述

index.htmlindex.js 关连起来。

图片描述

图片描述

最后将parcel脚本添加到我们的package.json

图片描述

这就是所有的配置,是不是非常简单。

接下来,让我们开启服务器。

图片描述

图片描述

效果明显了,大佬们请注意构建时间!

图片描述

15ms?! 是不是很牛逼!

再看一下HMR

图片描述

也感觉非常快啊。

SCSS

图片描述

同样先需要装node-sass

npm i node-sass && touch styles.scss

接下来,添加一些样式并将styles.scss导入index.js文件。

图片描述

图片描述
图片描述

生产构建

我们所需要的只是将一个build脚本添加到我们的package.json

图片描述

运行build脚本

图片描述

看看Parcel如何让我们的生活变得轻松?

图片描述

你可以像这样指定一个特定的build路径:

parcel build index.js -d build/output

错误实时监控为您的React项目保驾护航!

React

图片描述

设置React非常简单,我们需要做的就是安装我们的依赖并设置我们的.babelrc

npm install --save react react-dom babel-preset-env babel-preset-react && touch .babelrc

图片描述

来写个初始化React组件玩玩吧!

图片描述

图片描述
图片描述

错误实时监控为您的Vue项目保驾护航!

Vue

首先安装vueparcel-plugin-vue ,其中parcel-plugin-vue用于.vue组件支持。

$ npm i --save vue parcel-plugin-vue

需要添加我们的根元素,导入vue的index文件并初始化Vue。

首先生成个vue目录,然后创建index.jsapp.vue

$ mkdir vue && cd vue && touch index.js app.vue

index.html引用ndex.js

图片描述

最后,让我们初始化vue并编写我们的第一个vue组件!

图片描述

图片描述
图片描述

TypeScript

图片描述

这个非常简!只需安装TypeScript,我们就可以开始。

npm i --save typescript

创建index.ts文件并将其插入index.html

图片描述

图片描述
图片描述

推荐

转载地址:http://csrma.baihongyu.com/

你可能感兴趣的文章
Apache多站点实现原理和配置
查看>>
javascript类型系统——包装对象
查看>>
Android4.4中不能发送SD卡就绪广播
查看>>
解决:sudo: 无法解析主机:dinphy-500-310cn: 连接超时
查看>>
Asp.Net多线程用法1
查看>>
exFAT是支持Mac和Win的
查看>>
(转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别
查看>>
js Date操作
查看>>
判断用户密码是否在警告期内(学习练习)
查看>>
sp_executesql的执行计划会被重用(转载)
查看>>
禅道项目管理软件插件开发
查看>>
Linux系统各发行版镜像下载
查看>>
JS获取键盘按下的键值event.keyCode,event.charCode,event.which的兼容性
查看>>
查看ORACLE 数据库及表信息
查看>>
腾讯、百度、阿里面试经验—(1) 腾讯面经
查看>>
Codeforces Round #374 (Div. 2) D. Maxim and Array 贪心
查看>>
HTML DOM 教程Part1
查看>>
GBDT的基本原理
查看>>
MySQL修改root密码的多种方法(转)
查看>>
MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录
查看>>