Skip to content

parcel

parcel 是一款开箱即用的打包工具,这几年才开始兴起,对比webpack 来说,减少了大量编辑打包配置的时间。

安装

在项目跟目录下,执行👇

安装 v1版本

bash
npm install -g parcel-bundler

安装 v2版本

bash
npm install -D parcel@next

接着修改 package.json

json
{
  "scripts": {
    "dev": "parcel <your entry file>",
    "build": "parcel build <your entry file>"
  }
}

parcel 会自动从入口文件中遍历所有依赖进行打包,与webpack不同的是,parcel入口文件可以是html文件。它会自动解析 <script> 标签进行打包,打包后会自动替换文件路径。一句话舒服~~~

其实这时已经可以使用到项目中了,因为 parcel 是零配置的打包工具。

但若你要使用 框架的话,则需要安装对应的插件,文档都有说,这里就不多说了。

注意

主要讲的是 v1 版本和 v2 版本的坑点。毕竟作者踩过,文档其实也有说明,但非常不起眼。

第一点

v1 版本默认打包的输出路径是根目录的 dist 目录下,而 v2 版本打包的输出路径是 package.json 下的 main 属性值。

第二点

v1 版本启动本地环境,直接是 parcel <入口文件>,而 v2 版本则是 parcel serve <入口文件>

第三点

在 js 中使用图片路径时,v1 版本和正常使用一样,直接绝对路径或者相对路径即可;而 v2 版本则需要在路径前加上 url:,例如 import logo from 'url:./log.png' ,如果不加的话报错。包括在标签中使用也是这样。

但可以在 .parcelrc 插件配置文件中,加入以下选项👇,来使用旧行为,即 v1 的用法

json
{
  "extends": "@parcel/config-default",
  "transformers": {
    "*.{jpg,png,svg}": ["@parcel/transformer-raw"]
  }
}

第四点

默认 babel 是不读取 tsconfig.json 文件的。

以下是一则广告🤪🤪🤪

parcel-react-cli 是基于 parcel 2.0 打包,其中使用 react + ts + dva + lodash,都已经配置好,直接起飞。

🔗详情地址

Released under the MIT License.