Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

说说 ParcelJS #52

Open
sorrycc opened this issue Dec 7, 2017 · 12 comments
Open

说说 ParcelJS #52

sorrycc opened this issue Dec 7, 2017 · 12 comments

Comments

@sorrycc
Copy link
Owner

sorrycc commented Dec 7, 2017

看到 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 异曲同工)以及 AST 传递(减少了字符串解析的过程)。不过 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 等。

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


参考:

@xujihui1985
Copy link

但 HTML、JS 和 CSS 分别是通过 posthtml、babel 和 postcss 处理的,所以我们得分别配 .posthtmlrc、.babelrc 和 .postcssrc

这种号称0配置的都表示深深怀疑

@oldj
Copy link

oldj commented Dec 7, 2017

好像只能以 HTML 文件为入口?能打包纯 JS 模块么?

@sorrycc
Copy link
Owner Author

sorrycc commented Dec 7, 2017

好像只能以 HTML 文件为入口?能打包纯 JS 模块么?

入口可以是任意文件。

@sorrycc
Copy link
Owner Author

sorrycc commented Dec 7, 2017

这种号称 0 配置的都表示深深怀疑

是否有配置得看需求,个性化需求摆在这边,怎么可能 0 配置。

@mamba-1024
Copy link

期待它持续的维护和发展

@linyongping
Copy link

看起来不错,,

@ssly
Copy link

ssly commented Dec 10, 2017

比webpack是要简单一些,目前肯定很多东西支持不如webpack,看后续怎么发展了

@xc1124646582
Copy link

为什么我按照官网做会报错啊 。。。

@think2011
Copy link

期待啊 看看最后会发展到什么程度

@zsl99a
Copy link

zsl99a commented Dec 21, 2017

打包项目用 webpack, 打包libs 用 rollup, 写个 demo 用 parcel, 完美

@stxwd46
Copy link

stxwd46 commented Feb 7, 2018

目前多入口构建也不支持吧

@ppppppsmash
Copy link

小白求助,安装了parcel-jquery,接着再如何使用parallax.js这种库呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests