Parcel 快速 零配置的 Web 应用程序打包器

发布于 2019-05-26 22:24:45 字数 2685 浏览 1885 评论 0

Parcel 将 资源 树转换成 包(bundles) 树。许多其它的打包工具基本上是基于 JavaScript 资源,还有附加在其上的其它格式的资源。例如在 JS 文件中内联成字符串。 Parcel 是对文件类型无感知的,它能按你所期待的方式那样与任意类型的资源工作,且毋须配置。

特点

🚀 快速打包

Parcel 使用工作进程启用多核编译,并具有文件系统缓存,即使在重新启动后也可快速重新构建。

📦 打包所有资源

Parcel 支持JS,CSS,HTML,文件资源等等 - 不需要安装任何插件。

🐠 自动转换

在需要时,代码使用 Babel,PostCSS 和 PostHTML 自动转换 - 即使是 node_modules

✂️ 零配置代码拆分

Parcel 使用动态 import() 语法拆分您的输出包,所以只加载初始加载时所需的内容。

🔥 模块热替换

当你在开发过程中进行更改时,Parcel 会自动更新浏览器中的模块,不需要进行任何配置。

🚨 友好的错误记录

遇到错误时,Parcel 会以语法高亮的形式打印的代码帧,以帮助你查明问题。

安装

Install with yarn:

yarn global add parcel-bundler

or with npm:

npm install -g parcel-bundler

Hello World

从你的应用程序的入口 HTML 文件开始。Parcel 将从入口文件开始分析依赖关系来为你构建整个应用程序。

✏️ index.html

<html>
<body>
  <script src="./index.js"></script>
</body>
</html>

🛠 index.js

// 导入另一个组件
import main from './main';
main();

🛠 main.js

// 导入一个 CSS module
import classes from './main.css';
export default () => {
  console.log(classes.main);
};

💅 main.css

.main {
  /* 引用一个 image 文件 */
  background: url('./images/background.png');
  color: red;
}

只需运行parcel index.html 来启动一个 dev 服务器。导入 JavaScript,CSS,images,和更多资源,即可轻松搞定!👌

测试数据

打包器时间
browserify22.98s
webpack20.71s
parcel9.98s
parcel - with cache2.64s

以上数据基于合理大小的应用程序,包含 1726 个模块,6.5M 未压缩。 在 2016年 MacBook Pro 与 4个物理 CPU 硬件设备上构建。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

qq_aHcEbj

文章 0 评论 0

寄与心

文章 0 评论 0

13545243122

文章 0 评论 0

流星番茄

文章 0 评论 0

春庭雪

文章 0 评论 0

潮男不是我

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文