Parcel v1.10.0发布,默认支持 Babel 7、Flow、Elm等

简介: 我们一起来看看有哪些新的变化

原文作者:devongovett

译者:UC 国际研发 Jothy


我们一起来看看有哪些新的变化:

支持 Babel 7 - Parcel 现在支持开箱即用的 Babel 7 插件,同时也支持 Babel 6。 此外,我们现在会为您自动安装正确版本的 Babel,以及您开发时缺少的任何插件!

自动支持 Flow - Parcel 会自动检测 Flow 类型并在构建时从 JS 中剥离它们,就像我们已经为 TypeScript 做的那样。 无需配置 Babel - 它就能生效!

支持 Elm - 现在支持 Elm 开箱即用! 如果需要,我们会自动为您安装 Elm 工具链,并为您初始化 Elm 项目。 生产版本默认包含完整的优化支持。

支持内联脚本和样式 - Parcel 会检测内联样式属性,以及HTML 中的

HTML 包加载器 - 您现在可以使用 import('./ some.html')语法,在运行时异步加载外部 HTML 文件到你的 JavaScript 中。

支持 JSON LD - Parcel 现在可以检测出 HTML 中引入的 JSON LD 文档类型 assets,并将它们包含在构建中。

加载现有的 source maps - Parcel 现在可以从被导入的预编译 JavaScript 文件中加载被引用的现有 source maps,因此您可以使用真正的原始源进行调试。

非常感谢为此次发布做出贡献的所有人!

Babel 7

Babel 7 开发已经很长时间了,几周前它终于发布了正式版。 Parcel v1.10.0 现在支持开箱即用的 Babel 7,同时保留对使用 Babel 6 的现有项目的支持。 当您切换到 Babel 7 时,您应该能看到更快的构建性能,以及对新的语言特性提议的支持。

对于许多 Parcel 项目而言,根本不需要 .babelrc,因为 Parcel 自动支持使用 babel-preset-env 编译现代 JS,以及自动支持 JSX,现在也支持 Flow(见下文)。 对于那些项目,您根本不需要做任何事情来开始使用 Babel 7 - Parcel 将自动为您完成!

在使用 Babel 6 的 .babelrc 的现有项目中,我们将继续正常使用 Babel 6。 如果你的 package.json 中没有对 babel-core 的明确依赖,那么将自动为你安装一个。

如果你想升级到 Babel 7,你需要在你的 package.json 上添加对 @babel/core 的依赖,并删除对 babel-core 的依赖,并调整你的 .babelrc 以指向 Babel 7 插件。之后,Parcel 将自动使用 Babel 7 来构建您的代码。

对于新项目,当您创建 .babelrc 文件时,我们将自动检测插件是否依赖于 Babel 6 或 7,并自动将 babel-core 或 @babel/core 安装到您的项目中。

如果尚未安装,Parcel 现在还将自动安装 .babelrc 中指定的 Babel 插件。现在,您只需要为项目添加一个新插件,就可以将插件添加到 .babelrc 中,Parcel 会为您安装它!

Automatic Flow Support

如果您在 JavaScript 中使用 Flow 类型系统,则通常需要添加 Babel 插件以在构建过程中删除类型。 有了 Parcel v1.10.0,这将自动为您完成。

Parcel 会自动检测顶部带有 @flow 注释的文件,并为您删除类型。 这意味着在您的应用中管理的手动配置更少 - 更容易上手和维护!

Elm Support

Elm 是一种编译为 JavaScript 的函数式编程语言,专为构建 Web 应用程序而设计。 Parcel v1.10.0 现在支持 Elm 开箱即用,零配置!

当检测到 .elm 文件时,如果您尚未安装 elm 编译器工具链,则会自动为您安装 elm 编译器工具链,如果需要,使用 elm.json 文件初始化项目,并将文件编译为 JavaScript。 它会在您更改文件时自动重新加载页面,以便快速开发。

当您准备好投入生产时,Parcel 会为您处理压缩和优化设置。 由于 Elm 没有副作用,因此可以自动启用一些高级优化,从而生成的代码比 JavaScript minifier 通常生成的小得多。

Inline script and style support

Parcel 现在可以处理 HTML 中的内联样式属性,以及内联

image.png

您现在也可以在 HTML 中使用内联的 compile-to-JS(例如 CoffeeScript 或 TypeScript)或者编译为 CSS(例如 SASS 或 Stylus )语言。 只需使用 type 属性:

image.png

如果你想使用,你可以在github上获取到:

https://github.com/parcel-bundler/parcel

英文原文:

https://medium.com/@devongovett/parcel-v1-10-0-babel-7-flow-elm-and-more-c20736553573

目录
相关文章
|
Prometheus 监控 Java
如何全面监控所有的 Spring Boot 微服务
如何全面监控所有的 Spring Boot 微服务
570 3
|
Kubernetes 网络协议 Java
程序技术好文:记一次k8spod频繁重启的优化之旅
程序技术好文:记一次k8spod频繁重启的优化之旅
657 0
|
8月前
|
算法 Go
【LeetCode 热题100】55:跳跃游戏(详细解析)(Go语言版)
本篇解析详细讲解了 LeetCode 热题 55——跳跃游戏(Jump Game)。通过判断是否能从数组起点跳至终点,介绍了两种高效解法:贪心算法和反向思维。贪心法通过维护最远可达位置 `maxReach` 实现一次遍历,时间复杂度 O(n),空间复杂度 O(1);反向法则从终点回溯,判断是否可到达起点。两者均简洁高效,适合面试使用。延伸题目如 LeetCode 45 进一步提升挑战。
253 7
|
数据可视化 数据挖掘 BI
数据分析工具
【5月更文挑战第17天】数据分析工具
403 6
|
存储 缓存 前端开发
前端如何利用indexDB进行数据优化
使用IndexedDB作为浏览器内置的客户端数据库,用于存储大量数据和实现离线支持。它能缓存常用数据,减少服务器请求,提高用户体验。IndexedDB支持数据索引、复杂查询及版本管理,允许离线操作并同步到服务器。但需熟悉其异步API,可借助Dexie.js、localForage等库简化使用。
|
机器学习/深度学习 数据可视化 算法
基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)
基于深度学习的瓶子检测软件(UI界面+YOLOv5+训练数据集)
795 0
|
人工智能 数据可视化
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
跟SCI学umap图| ggplot2 绘制umap图,坐标位置 ,颜色 ,大小还不是你说了算
1804 1
|
SQL 关系型数据库 分布式数据库
分析股票涨跌幅概率分布特征, 用PolarDB模拟逼真股票数据
要模拟较为逼真的股票数据, 首先需要分析真实数据的特征. 股票数据关键的数据特征: 1、股票的日涨跌幅波动范围: [-10%, 10%] (这个应该是国内股市交易限制?) 2、日涨跌幅的幅度在[-10%, 10%]范围内符合高斯分布. 本文将介绍这个结论怎么得到的? 靠近0的最多, 靠近正负10%的概率逐渐回落.
2237 6
分析股票涨跌幅概率分布特征, 用PolarDB模拟逼真股票数据
|
NoSQL 关系型数据库 MySQL
使用redis( RedisTemplate )中的BitMap 记录用户签到情况
使用redis( RedisTemplate )中的BitMap 记录用户签到情况
801 0
ICP年检还有几天就截止了
2023年ICP经营许可证年检时间马上结束了,抓紧最后时间
530 0
ICP年检还有几天就截止了