Parcel
Parcel 是一个零配置的构建工具。
但是, 零配置就真的好嘛?
零配置实际就是为各种各样的场景填充默认值, 虽然能节省很多工作量, 但是毫无疑问也会带来一系列问题:
- 不讲武德的 node_modules
被依赖的库的文件是不可控的, 取决于开发者, NPM 平台并没有强制包的规范, 比如可能把 .babelrc
文件也发布至了 NPM。
而 Parcel 只要在目录中发现这些配置文件就会认为该项目中的代码需要被处理, 就可能出现本来是 ES5 代码还要经过 Babel 转译一遍的情况, 浪费性能。
- 成也零配置败也零配置
零配置意味着:
- 无法控制对部分文件的特殊处理
- 无法控制输出文件名的 hash 值和名称
- 无法控制构建输出目录结构
- 无法映射路径别名
- 不支持 History API
不可控有时候是非常讨厌的。
Parcel 的生态、报错信息不够全面等都是它的硬伤。
但是 Parcel 也不是一无是处, 简单的实验性 demo 使用它还是非常好的, 不用配置。
如有需要再翻看官网吧。