CLI

parcel是使用 Parcel 最常用的方式。它支持三种不同的命令serve, watch, 和 build.

parcel [serve] <entries>

#

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

parcel src/index.html

注意: 如果你已经指定了多个 HTML 入口点,但是没有一个具有输出路径/index.html,dev 服务器将用 404 响应http://localhost:1234/,,因为 Parcel 不知道哪个 HTML 包是索引。

在这种情况下,直接加载文件,例如http://localhost:1234/a.htmlhttp://localhost:1234/b.html.

有关详细信息,请参阅Development

parcel watch <entries>

#

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

parcel watch src/index.html

parcel build <entries>

#

build命令执行单个生产构建并退出。这默认启用scope hoisting和其他生产优化。有关如何指定入口的信息,请参见below

parcel build src/index.html

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

入口 Entries

#

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

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

# 单文件
parcel src/index.html

# 多文件
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

参数 Parameters

#

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

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

特定于servewatch的参数

#
格式 描述
-p, --port <port> 开发服务器和 HMR 的端口(默认端口是process.env.PORT或 1234)。请参阅Dev server
--host <host> 设置要监听的主机,默认监听所有接口
--https 通过HTTPS运行开发服务器和 HMR 服务器。
--cert <path> 要使用的证书的路径。请参阅HTTPS
--key <path> 要使用的私钥的路径。请参阅HTTPS
--no-hmr 禁用热重载 hot reloading
--hmr-port <port> HMR 服务器的端口(默认为开发服务器的端口)。请参阅Hot reloading.
--hmr-host <host> HMR 服务器的主机(默认为开发服务器的主机)。请参阅Hot reloading.
--no-autoinstall 禁用auto install
--watch-for-stdin 标准输入关闭后停止 Parcel。

特定于serve的参数

#
格式 描述
--open [browser] 自动在浏览器中打开条目。默认为默认浏览器。请参阅开发 Dev server.
--lazy 仅构建开发服务器请求的捆绑包。请参阅懒加载 Lazy mode.

特定于build的参数

#

| 格式 | 描述 | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | --no-optimize | 禁用优化,例如缩小。
覆盖 package.json 的选项targets属性optimize。请参阅生产 Production。 | | --no-scope-hoist | 禁用 scope hoisting.
覆盖 package.json 的选项targets属性scopeHoist。请参阅Scope hoisting。 | | --no-content-hash | 禁用输出文件名的内容散列。
打包名称可能仍包含哈希,但它们不会在每次构建时更改。请参阅Content hashing。 | | | --detailed-report [depth] | 在 CLI 报告中显示每个捆绑包中最大的 10 个(使用depth可配置的数量)资源。见Detailed report。 |