61 lines
1.9 KiB
Markdown
61 lines
1.9 KiB
Markdown
|
## 修改electron-packager代码
|
|||
|
首先确认electron-packager安装位置(全局或者局部),之后进入`node_modules\electron-packager\`路径。使用VSCode搜索`packageForPlatformAndArch`。代码如下:
|
|||
|
```c#
|
|||
|
packageForPlatformAndArch (downloadOpts) {
|
|||
|
return download.downloadElectronZip(downloadOpts)
|
|||
|
.then(zipPath => {
|
|||
|
// Create delegated options object with specific platform and arch, for output directory naming
|
|||
|
const comboOpts = Object.assign({}, this.opts, {
|
|||
|
arch: downloadOpts.arch,
|
|||
|
platform: downloadOpts.platform,
|
|||
|
electronVersion: downloadOpts.version
|
|||
|
})
|
|||
|
|
|||
|
if (!this.useTempDir) {
|
|||
|
return this.createApp(comboOpts, zipPath)
|
|||
|
}
|
|||
|
|
|||
|
if (common.isPlatformMac(comboOpts.platform)) {
|
|||
|
/* istanbul ignore else */
|
|||
|
if (this.canCreateSymlinks === undefined) {
|
|||
|
return this.testSymlink(comboOpts, zipPath)
|
|||
|
} else if (!this.canCreateSymlinks) {
|
|||
|
return this.skipHostPlatformSansSymlinkSupport(comboOpts)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return this.checkOverwrite(comboOpts, zipPath)
|
|||
|
})
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
添加逻辑:
|
|||
|
```
|
|||
|
let zipFile="electron-v11.2.1-win32-x64.zip";
|
|||
|
console.log(__dirname);
|
|||
|
let HasFile=fs.existsSync(zipFile);
|
|||
|
if(HasFile)
|
|||
|
{
|
|||
|
const comboOpts = Object.assign({}, this.opts, {
|
|||
|
arch: downloadOpts.arch,
|
|||
|
platform: downloadOpts.platform,
|
|||
|
electronVersion: downloadOpts.version
|
|||
|
})
|
|||
|
|
|||
|
if (!this.useTempDir) {
|
|||
|
return this.createApp(comboOpts, zipFile)
|
|||
|
}
|
|||
|
|
|||
|
if (common.isPlatformMac(comboOpts.platform)) {
|
|||
|
/* istanbul ignore else */
|
|||
|
if (this.canCreateSymlinks === undefined) {
|
|||
|
return this.testSymlink(comboOpts, zipFile)
|
|||
|
} else if (!this.canCreateSymlinks) {
|
|||
|
return this.skipHostPlatformSansSymlinkSupport(comboOpts)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return this.checkOverwrite(comboOpts, zipFile)
|
|||
|
}
|
|||
|
```
|
|||
|
其中执行路径即为项目根目录,直接将zip放在项目目录中即可。
|