Parcel快速入门
极速零配置Web应用打包工具
Parcel有什么好处
- 极速打包
- 将你所有的资源打包
- 自动转换
- 零配置代码分拆
- 热模块替换
- 友好的错误日志
什么时候使用 Parcel , Webpack 或 Rollup 呢?
- Parcel:中小型项目(代码行小于 15k)。
- Webpack:大型以及企业级项目。
- Rollup:用于 NPM 包。
安装
bash
Yarn:
yarn global add parcel-bundler
npm:
npm install -g parcel-bundler
使用以下命令在你的项目目录中新建一个 package.json 文件:
yarn init -y
npm init -y
tips: node version在8+ 才支持,否则将会出现以下报错
bash
Yarn version:
1.3.2
Node version:
8.9.3
Platform:
darwin x64
快速开始
bash
yarn init -y
parcel-bundler --save-dev
创建 index.html & index.js
html
<!-- index.html -->
<html>
<body>
<script src="./index.js"></script>
</body>
</html>
js
// index.js
document.write('hello parcel')
在项目目录下执行 parcel index.html
现在在你的浏览器中打开http://localhost:1234/
- Parcel 内置了一个当你改变文件时能够自动重新构建应用的开发服务器,而且为了实现快速开发,该开发服务器支持热模块替换。
- 可以使用
-p <port number>
选项更改默认端口。 - 如果你有自己的服务器,你可以以 watch 模式运行 Parcel。(
parcel watch index.html
)这样在文件更改时,依然会自动重建应用,并支持热更新,但不会启动 web 服务器。 - 热模块重载(HMR)有两种已知方法:
module.hot.accept
和module.hot.dispose
。你可以调用 module.hot.accept 并赋予一个回调函数,该函数会在模块或其他依赖项被更新时执行。当该模块即将被替换时,module.hot.dispose 回调函数会被调用。
js
if (module.hot) {
module.hot.dispose(function () {
// 模块即将被替换时
});
module.hot.accept(function () {
// 模块或其依赖项之一刚刚更新时
});
}
打包生产
执行 parcel build index.js
,这将关闭监听模式和热模块替换,所以它只会编译一次。
Options
设置项 | options |
---|---|
设置输出目录 | -d |
设置要提供服务的公共 URL | --public-url |
禁用压缩 | --no-minify |
禁用文件系统缓存 | --no-cache |