命令行界面(CLI)

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

parcel [serve] <entries>

#

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

parcel src/index.html

note:如果您指定了多个 HTML 入口点,并且没有一个具有 /index.html 的输出路径,开发服务器将以 404 响应 http://localhost:1234/,因为 Parcel 不知道哪个 HTML 捆绑包是索引。

在这种情况下,直接加载文件,例如 http://localhost:1234/a.htmlhttp://localhost: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 命令都接受一个或多个入口。入口可以是相对或绝对路径,或通配符。它们还可以是包含带有 source 字段的 package.json 的目录。如果完全省略入口,则使用当前工作目录中 package.jsonsource 字段。有关更多详细信息,请参见目标文档中的入口

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

# 单个文件
parcel src/index.html

# 多个文件
parcel src/a.html src/b.html

# 通配符(需要引号)
parcel 'src/*.html'

# 带有 package.json#source 的目录
parcel packages/frontend

# 使用通配符的多个包
parcel 'packages/*'

# 带有 package.json#source 的当前目录
parcel

参数

#

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

格式 描述
--target [name] 指定要构建的目标。可以多次指定。请参见目标
`--dist-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 配置数量)最大资源。请参见详细报告