parcel
parcel
是一款开箱即用的打包工具,这几年才开始兴起,对比webpack
来说,减少了大量编辑打包配置的时间。
安装
在项目跟目录下,执行👇
安装 v1版本
npm install -g parcel-bundler
安装 v2版本
npm install -D parcel@next
接着修改 package.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 的用法
{
"extends": "@parcel/config-default",
"transformers": {
"*.{jpg,png,svg}": ["@parcel/transformer-raw"]
}
}
第四点
默认 babel
是不读取 tsconfig.json
文件的。
以下是一则广告🤪🤪🤪
parcel-react-cli
是基于 parcel 2.0 打包,其中使用 react + ts + dva + lodash,都已经配置好,直接起飞。