Files
4.0/.electron-vue/setVersion1.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2025-07-03 17:39:09 +08:00
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;