构建钩子
钩子¶
Node.js 8
所有示例均假设您使用最新的 Node.js 8.11.x 或更高版本。
Electron-Builder / app-builder-lib / 钩子
扩展自¶
属性¶
afterAllArtifactBuild?¶
readonly
optional
afterAllArtifactBuild:null
|string
|Hook
<BuildResult
,string
[]>
在所有构建产物构建完成后运行的函数(或文件路径或模块 ID)。
(buildResult: BuildResult): Promise<Array<string>> | Array<string>
配置方式与 `afterPack` 相同(见上文)。
myAfterAllArtifactBuild.js
exports.default = function () {
// you can return additional files to publish
return ["/path/to/additional/result/file"]
}
afterExtract?¶
readonly
optional
afterExtract:null
|string
|Hook
<PackContext
,void
>
在预构建的 Electron 二进制文件提取到输出目录后运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
afterPack?¶
readonly
optional
afterPack:null
|string
|Hook
<PackContext
,void
>
在打包(pack)之后(但在打包成可分发格式和签名之前)运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
afterSign?¶
readonly
optional
afterSign:null
|string
|Hook
<PackContext
,void
>
在打包和签名之后(但在打包成可分发格式之前)运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
appxManifestCreated?¶
readonly
optional
appxManifestCreated:null
|string
|Hook
<string
,void
>
在 Appx 清单文件在磁盘上创建后(尚未打包到 .appx 包中)运行的函数(或文件路径或模块 ID)。
artifactBuildCompleted?¶
readonly
optional
artifactBuildCompleted:null
|string
|Hook
<ArtifactCreated
,void
>
在构建产物构建完成后运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
artifactBuildStarted?¶
readonly
optional
artifactBuildStarted:null
|string
|Hook
<ArtifactBuildStarted
,void
>
在构建产物构建开始时运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
beforeBuild?¶
readonly
optional
beforeBuild:null
|string
|Hook
<BeforeBuildContext
,boolean
|void
>
在安装或重建依赖项之前运行的函数(或文件路径或模块 ID)。当 `npmRebuild` 设置为 `true` 时生效。返回 `false` 将跳过依赖项的安装或重建。
如果提供并且缺少 `node_modules`,则不会调用生产依赖项检查。
beforePack?¶
readonly
optional
beforePack:null
|string
|Hook
<PackContext
,void
>
在打包(pack)之前运行的函数(或文件路径或模块 ID)。
(context: BeforePackContext): Promise<any> | any
作为函数
beforePack: async (context) => {
// your code
}
因为在配置文件中不能使用 JavaScript,所以可以指定为文件路径或模块 ID。函数必须作为默认导出导出。
"build": {
"beforePack": "./myBeforePackHook.js"
}
项目根目录中的文件 `myBeforePackHook.js`
myBeforePackHook.js
exports.default = async function(context) {
// your custom code
}
electronDist?¶
readonly
optional
electronDist:null
|string
|Hook
<PrepareApplicationStageDirectoryOptions
,string
>
在暂存 electron 构建产物环境时运行的函数(或文件路径或模块 ID)。返回自定义 Electron 构建(例如 `~/electron/out/R`)或 electron zip 文件夹的路径。
Zip 文件必须遵循 `electron-v${version}-${platformName}-${arch}.zip` 模式,否则将被假定为未打包的 Electron 应用目录
msiProjectCreated?¶
readonly
optional
msiProjectCreated:null
|string
|Hook
<string
,void
>
在 MSI 项目文件在磁盘上创建后(尚未打包到 .msi 包中)运行的函数(或文件路径或模块 ID)。
onNodeModuleFile?¶
readonly
optional
onNodeModuleFile:null
|string
|Hook
<string
,boolean
|void
>
在每个 node module 文件上运行的函数(或文件路径或模块 ID)。返回 `true`/`false` 将决定是否强制包含或使用默认的复制逻辑