CLI

parcel CLI 是使用 Parcel 的最常见方式。它支持三种不同的命令:servewatchbuild

parcel [serve] <entries>

#

serve 命令启动一个开发服务器,它会在你更改文件时自动重建你的应用程序,并支持 热重载。它接受一个或多个文件路径或通配符作为 入口serve 是默认命令,因此也可以通过将入口直接传递给 parcel 来使用它。

parcel src/index.html

注意:如果你指定了多个 HTML 入口点,并且它们都没有输出路径 /index.html,则开发服务器将以 404 响应 https://127.0.0.1:1234/,因为 Parcel 不知道哪个 HTML 包是索引。

在这种情况下,直接加载文件,例如 https://127.0.0.1:1234/a.htmlhttps://127.0.0.1:1234/b.html

有关更多详细信息,请参阅 开发

parcel watch <entries>

#

watch 命令类似于 serve,但它不启动开发服务器(只启动 HMR 服务器)。但是,它会在你进行更改时自动重建你的应用程序,并支持 热重载。如果你正在构建库、后端或拥有自己的开发(HTTP)服务器,请使用 watch。有关如何指定入口,请参阅 下面

parcel watch src/index.html

parcel build <entries>

#

build 命令执行一次生产构建并退出。这默认情况下会启用 作用域提升 和其他生产优化。有关如何指定入口,请参阅 下面

parcel build src/index.html

有关更多详细信息,请参阅 生产

入口

#

所有 Parcel 命令都接受一个或多个入口。入口可以是相对路径或绝对路径,也可以是通配符。它们也可以是包含 package.json(其中包含 source 字段)的目录。如果完全省略入口,则使用当前工作目录中 package.json 中的 source 字段。有关更多详细信息,请参阅目标文档中的 入口

注意:请确保将通配符用单引号括起来,以确保它们不会被你的 shell 解析,而是直接传递给 Parcel。这确保 Parcel 可以自动拾取与通配符匹配的最新创建的文件,而无需重新启动。

# Single file
parcel src/index.html

# Multiple files
parcel src/a.html src/b.html

# Glob (quotes required)
parcel 'src/*.html'

# Directory with package.json#source
parcel packages/frontend

# Multiple packages with a glob
parcel 'packages/*'

# Current directory with package.json#source
parcel

参数

#

这些参数受所有 Parcel 命令支持。

格式 描述
--target [name] 指定要构建的目标。可以多次指定。请参阅 目标
--dist-dir <dir> 未指定目标时要写入的输出目录。
package.json targetsdistDir 选项的默认值。
--public-url <url> 绝对 URL 的路径前缀。
package.json targetspublicUrl 选项的默认值。
--no-source-maps 禁用源映射。
覆盖 package.json targets 中的 sourceMap 选项。
--config <path> 指定要使用的 Parcel 配置。
可以是文件路径或包名称。默认为 @parcel/config-default。请参阅 Parcel 配置
--reporter <package name> 除了 .parcelrc 中指定的报告器插件之外,还运行指定的报告器插件。可以多次指定。
--log-level (none/error/warn/info/verbose) 设置日志级别。
--cache-dir <path> 设置缓存目录。默认为 .parcel-cache。请参阅 缓存
--no-cache 禁用从文件系统缓存中读取。请参阅 缓存
--profile 在构建期间运行 CPU 采样分析(可以生成火焰图)。
--trace 在构建期间运行 跟踪
-V, --version 输出版本号。

特定于 servewatch 的参数

#
格式 描述
-p, --port <port> 开发服务器和 HMR 的端口(默认端口为 process.env.PORT 或 1234)。请参阅 开发服务器
--host <host> 设置要监听的主机,默认为监听所有接口。
--https 通过 HTTPS 运行开发服务器和 HMR 服务器。
--cert <path> 要使用的证书的路径。请参阅 HTTPS
--key <path> 要使用的私钥的路径。请参阅 HTTPS
--no-hmr 禁用 热重载
--hmr-port <port> HMR 服务器的端口(默认为开发服务器的端口)。请参阅 热重载
--hmr-host <host> HMR 服务器的主机(默认为开发服务器的主机)。请参阅 热重载
--no-autoinstall 禁用 自动安装
--watch-dir 设置根监视目录。对于在子项目中具有锁定文件的单一仓库很有用。
--watch-for-stdin 关闭 stdin 后停止 Parcel。

特定于 serve 的参数

#
格式 描述
--open [browser] 在你的浏览器中自动打开入口。默认为默认浏览器。请参阅 开发服务器
--lazy 仅构建开发服务器请求的包。请参阅 延迟模式

特定于 build 的参数

#
格式 描述
--no-optimize 禁用优化,例如缩小。
覆盖 package.json targetsoptimize 选项。请参阅 生产
--no-scope-hoist 禁用作用域提升。
覆盖 package.json targetsscopeHoist 选项。请参阅 作用域提升
--no-content-hash 禁用输出文件名的内容哈希。
包名称可能仍然包含哈希,但它们不会在每次构建时更改。请参阅 内容哈希
--detailed-report [depth] 在 CLI 报告中显示每个包中最大的 10 个(使用 depth 可配置的数字)资产。请参阅 详细报告