说说 ParcelJS

5,097

看到 ParcelJS 还是眼前一亮的。

新建 index.htmlindex.jsindex.css,然后 parcel index.html,就能拿到可运行的 html、js 和 css 组合。html 可以作为入口正是我期望的,这让前端开发回归到本来的状态,很舒服。

ParcelJS 是以 assets 方式组织的,assets 可以是任意文件,所以你可以构建任意文件。而在 webpack 中,只有 JS 是一等公民(webpack@4 会增加 CSS 为一等公民),所以必须是以 JS 为入口去组织其他文件,这很别扭。

速度是 ParcelJS 主要卖点。体验下来确实快,原因是多核(通过 worker 平行构建)和文件系统缓存(二次构建会快,和 webpack 的 dll 异曲同工)。不过 webpack 也有多核处理 loader 和压缩的插件,没对比过,不知道差异如何。另外 webpack 的构建速度慢在 dev 模式下还是可以的,主要还是压缩慢,在压缩速度上没有突破,仅提升编译速度,只能解决一部分问题。

关于 0 配置。ParcelJS 本身是 0 配置的,但 HTML、JS 和 CSS 分别是通过 posthtml、babel 和 postcss 处理的,所以我们得分别配 .posthtmlrc.babelrc.postcssrc

功能上,Code Splitting 和 Hot Module Replacement 没啥新的,和 webpack 等工具相同。对于我来说,功能目前还缺 SourceMap、公共文件提取、publicPath 配置(Code Splitting 需要)、Tree Shake 和 Scope Hoist 等。

很好的开始,持续维护的话应该不缺用户。

更多文章

参考