代码拉取完成,页面将自动刷新
const electronBuilder = require('electron-builder');
const {
src,
dest,
series,
parallel
} = require('gulp');
const fs = require('fs');
const childProcess = require('child_process');
const path = require('path');
function clearTask() {
return new Promise((resolve, reject) => {
let folderPath = __dirname;
let distPath = path.join(folderPath, 'dist');
_delDir(distPath);
resolve();
});
}
/**
* 开始打包。
*/
async function electronPackage() {
return await electronBuilder.build();
}
function copyFiles() {
return src('./package.json').pipe(dest('./dist'));
}
function copyEntryjs() {
return src('./entry.js').pipe(dest('./dist'));
}
function _delDir(p) {
let files = [];
if (fs.existsSync(p)) {
files = fs.readdirSync(p);
files.forEach((file) => {
let curPath = p + "/" + file;
if (fs.statSync(curPath).isDirectory()) {
//递归删除文件夹
_delDir(curPath);
} else {
//删除文件
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(p);
}
}
/**
* 拷贝默认特效
*/
function copyDefaultEffect() {
return src('./defaultEffect/**/*.*').pipe(dest('../out/win-unpacked/defaultEffect'));
}
/**
* 拷贝配置文件到根目录
*/
function copyConfig() {
return src('./config.json').pipe(dest('../out/win-unpacked/'));
}
/**
* 拷贝特效文件夹
*/
function copyEffects() {
return src('./ScreenEffects/**/*.*').pipe(dest('../out/win-unpacked/ScreenEffects'));
}
/**
* Windows程序申请Administrator权限。
*/
function administrator() {
return new Promise(async solve => {
let cmdStr = `.\\tools\\mt.exe -manifest .\\tools\\windowsAdminRequest.xml -outputresource:${path.join('..', 'out', "win-unpacked", "HTML屏保")}.exe`;
childProcess.execSync(cmdStr);
solve();
});
}
/**
* 重命名应用程序后缀名称为.scr
*/
function renameExe() {
return new Promise((resolve, reject) => {
try {
let oldPath = path.join(path.dirname(__dirname), 'out', 'HTML屏保 1.0.0.exe');
let newPath = path.join(path.dirname(__dirname), 'out', 'HTMLScreenSaver.scr');
fs.renameSync(oldPath, newPath);
resolve();
} catch (e) {
reject(e);
}
});
}
module.exports.default = series(clearTask, parallel(copyFiles, copyEntryjs), electronPackage, copyConfig, copyDefaultEffect, copyEffects, administrator, renameExe);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。