Files
4.0/.electron-vue/setVersion1.js
2025-07-03 17:39:09 +08:00

57 lines
1.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const fs = require("fs");
const obj = require("../config/app_config");
// 获取当前工作目录路径
const currentDirPath = process.cwd();
// 定义需要更改的 package.json 文件路径
const packageJsonFilePath = `${currentDirPath}/package.json`;
const installerFilePath = `${currentDirPath}/installer.nsh`;
/*function setEnvior() {}*/
let Factory = (function() {
return {
mains: function() {
// 读取原始的 package.json 内容
let packageData;
let y;
try {
const str = String(fs.readFileSync(installerFilePath));
y = str.replace(/urlHKLM/g, obj.installUrl);
const rawData = fs.readFileSync(packageJsonFilePath);
packageData = JSON.parse(rawData);
} catch (error) {
console.log(`无法读取 ${packageJsonFilePath}`);
return;
}
// 根据自定义逻辑修改 package.json 中的 name 字段(这里示意性地将其设置为 "new_app"
for (const objKey in obj) {
if (objKey.indexOf("_") > -1) {
let keyArr = [];
keyArr = objKey.split("_");
//[win,icon]=>["win"]["icon"]
let str = '["' + keyArr.join('"]["') + '"]';
console.log(str);
try {
eval(`packageData${str} = obj[objKey]`);
} catch (e) {}
} else {
if (packageData.hasOwnProperty(objKey)) {
packageData[objKey] = obj[objKey];
}
}
}
console.log(packageData);
// 写入修改后的 package.json 数据
fs.writeFileSync(packageJsonFilePath, JSON.stringify(packageData));
fs.writeFileSync(installerFilePath, y);
},
setEnvior: function() {
console.log("*********************", obj.head);
// process.env.Head = obj.head;
return obj.head;
}
};
})();
module.exports = Factory;