66 lines
2.1 KiB
JavaScript
66 lines
2.1 KiB
JavaScript
|
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`;
|
|||
|
const installText = `${currentDirPath}/install.txt`;
|
|||
|
|
|||
|
/*function setEnvior() {}*/
|
|||
|
|
|||
|
let Factory = (function() {
|
|||
|
return {
|
|||
|
mains: function() {
|
|||
|
// 读取原始的 package.json 内容
|
|||
|
let packageData;
|
|||
|
let y;
|
|||
|
try {
|
|||
|
const str = String(fs.readFileSync(installText));
|
|||
|
y = str.replace(/installurl/g, obj.installUrl);
|
|||
|
const rawData = fs.readFileSync(packageJsonFilePath);
|
|||
|
packageData = JSON.parse(rawData);
|
|||
|
} catch (error) {
|
|||
|
console.log(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];
|
|||
|
}
|
|||
|
if(objKey=="isSetDefaultLayer"){
|
|||
|
localStorage.setItem("isSetDefaultLayer",obj[objKey])
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
console.log(packageData);
|
|||
|
// 写入修改后的 package.json 数据
|
|||
|
fs.writeFileSync(packageJsonFilePath, JSON.stringify(packageData));
|
|||
|
fs.writeFileSync(installerFilePath, y);
|
|||
|
},
|
|||
|
setEnvior: function() {
|
|||
|
// console.log("*********************", obj.head);
|
|||
|
if(obj.hasOwnProperty('isSetDefaultLayer')){
|
|||
|
// localStorage.setItem("isSetDefaultLayer",obj[objKey])
|
|||
|
}
|
|||
|
// process.env.Head = obj.head;
|
|||
|
return obj.head;
|
|||
|
}
|
|||
|
};
|
|||
|
})();
|
|||
|
module.exports = Factory;
|