构建钩子
钩子¶
Node.js 8
所有示例均假设您使用最新的 Node.js 8.11.x 或更高版本。
Electron-Builder / app-builder-lib / 钩子
扩展自¶
属性¶
afterAllArtifactBuild?¶
readonlyoptionalafterAllArtifactBuild: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?¶
readonlyoptionalafterExtract:null|string|Hook<PackContext,void>
在预构建的 Electron 二进制文件提取到输出目录后运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
afterPack?¶
readonlyoptionalafterPack:null|string|Hook<PackContext,void>
在打包(pack)之后(但在打包成可分发格式和签名之前)运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
afterSign?¶
readonlyoptionalafterSign:null|string|Hook<PackContext,void>
在打包和签名之后(但在打包成可分发格式之前)运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
appxManifestCreated?¶
readonlyoptionalappxManifestCreated:null|string|Hook<string,void>
在 Appx 清单文件在磁盘上创建后(尚未打包到 .appx 包中)运行的函数(或文件路径或模块 ID)。
artifactBuildCompleted?¶
readonlyoptionalartifactBuildCompleted:null|string|Hook<ArtifactCreated,void>
在构建产物构建完成后运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
artifactBuildStarted?¶
readonlyoptionalartifactBuildStarted:null|string|Hook<ArtifactBuildStarted,void>
在构建产物构建开始时运行的函数(或文件路径或模块 ID)。设置方式与 beforePack 相同
beforeBuild?¶
readonlyoptionalbeforeBuild:null|string|Hook<BeforeBuildContext,boolean|void>
在安装或重建依赖项之前运行的函数(或文件路径或模块 ID)。当 `npmRebuild` 设置为 `true` 时生效。返回 `false` 将跳过依赖项的安装或重建。
如果提供并且缺少 `node_modules`,则不会调用生产依赖项检查。
beforePack?¶
readonlyoptionalbeforePack: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?¶
readonlyoptionalelectronDist:null|string|Hook<PrepareApplicationStageDirectoryOptions,string>
在暂存 electron 构建产物环境时运行的函数(或文件路径或模块 ID)。返回自定义 Electron 构建(例如 `~/electron/out/R`)或 electron zip 文件夹的路径。
Zip 文件必须遵循 `electron-v${version}-${platformName}-${arch}.zip` 模式,否则将被假定为未打包的 Electron 应用目录
msiProjectCreated?¶
readonlyoptionalmsiProjectCreated:null|string|Hook<string,void>
在 MSI 项目文件在磁盘上创建后(尚未打包到 .msi 包中)运行的函数(或文件路径或模块 ID)。
onNodeModuleFile?¶
readonlyoptionalonNodeModuleFile:null|string|Hook<string,boolean|void>
在每个 node module 文件上运行的函数(或文件路径或模块 ID)。返回 `true`/`false` 将决定是否强制包含或使用默认的复制逻辑