创建生产环境构建
要创建用于分发的生产包,请运行以下命令:
pnpm build
# 或者
npm run build生成 zip 包
要创建一个可以上传到应用商店的生产 zip 包,请使用 package 命令:
pnpm package
# 或者
npm run package如果您希望将构建和打包过程合并,请改用带有 --zip 标志的 build 命令:
pnpm build --zip
# 或者
npm run build -- --zip指定目标
build 命令接受 --target 标志,格式为 <browser-name>-<manifest-version>。使用它来指定要构建的目标浏览器和清单版本组合:
plasmo build --target=firefox-mv2最终的包将位于 build/firefox-mv2-prod 目录中。您可以使用任何浏览器目标和清单版本对。
有关官方支持的目标列表,请访问此链接。这些目标被捆绑器识别,并会自动处理一些特定于供应商的行为。
--target 标志还允许您:
- 使用目标特定的环境文件:
.env.<browser-name> - 使用目标特定的入口文件:例如
popup.<browser-name>.tsx - 将
process.env.PLASMO_BROWSER设置为<browser-name>
第三个功能与死代码消除配合工作。因此,以下代码:
if (process.env.PLASMO_BROWSER === "safari") {
console.log("A")
} else {
console.log("B")
}如果目标是 safari-mv3,则会被简化为 console.log("A")。
自定义标签
Plasmo 使用 prod 标签进行生产构建。您可以使用 --tag 标志更改此行为:
plasmo build --tag=staging上述命令将:
- 在
build/chrome-mv3-staging目录中创建包 - 将
process.env.PLASMO_TAG环境变量设置为staging - 解析并优先处理
.env.staging或.env.staging.local(如果存在)
源映射
默认情况下,Plasmo 不会为您的生产包生成源映射。但是,您可以使用 --source-maps 标志更改此行为:
plasmo build --source-mapsBundle Buddy
如果您想分析您的包,可以使用 --bundle-buddy 标志,结合 --source-maps 来生成 Bundle Buddy (opens in a new tab) 报告:
plasmo build --source-maps --bundle-buddy优化
要创建禁用压缩的包:
plasmo build --no-minify要创建导入优化的构建,其中包会去重并将依赖项提升到包的顶部:
plasmo build --hoist请注意,提升可能会破坏您的依赖项,特别是那些通过插件系统导入动态依赖项的依赖项。然而,提升可以显著提高打包速度并减少包的大小。
您可以根据需要组合这些标志。