命令行界面(CLI)
parcel
CLI 是使用 Parcel 最常见的方式。它支持三个不同的命令:serve
、watch
和 build
。
parcel [serve] <entries>
#serve
命令启动一个开发服务器,它将在您更改文件时自动重新构建您的应用,并支持热重载。它接受一个或多个文件路径或通配符作为入口。serve
是默认命令,因此也可以通过直接将入口传递给 parcel
来使用。
parcel src/index.html
note:如果您指定了多个 HTML 入口点,并且没有一个具有 /index.html
的输出路径,开发服务器将以 404 响应 http://localhost:1234/
,因为 Parcel 不知道哪个 HTML 捆绑包是索引。
在这种情况下,直接加载文件,例如 http://localhost:1234/a.html
和 http://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.json
的 source
字段。有关更多详细信息,请参见目标文档中的入口。
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 targets 中 distDir 选项的默认值。 |
--public-url <url> |
绝对 URL 的路径前缀。 package.json targets 中 publicUrl 选项的默认值。 |
--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 |
输出版本号。 |
serve
和 watch
特定的参数
#格式 | 描述 |
---|---|
-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
特定的参数
#build
特定的参数
#格式 | 描述 |
---|---|
--no-optimize |
禁用诸如压缩之类的优化。 覆盖 package.json targets 的 optimize 选项。请参见生产。 |
--no-scope-hoist |
禁用作用域提升。 覆盖 package.json targets 的 scopeHoist 选项。请参见作用域提升。 |
--no-content-hash |
禁用输出文件名的内容哈希。 捆绑包名称可能仍包含哈希,但它们不会在每次构建时更改。请参见内容哈希。 |
--detailed-report [depth] |
在 CLI 报告中显示每个捆绑包的前 10 个(可以使用 depth 配置数量)最大资源。请参见详细报告。 |