创建生产环境构建
要创建用于分发的生产包,请运行以下命令:
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-maps
Bundle 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
请注意,提升可能会破坏您的依赖项,特别是那些通过插件系统导入动态依赖项的依赖项。然而,提升可以显著提高打包速度并减少包的大小。
您可以根据需要组合这些标志。