1.由于想体验小程序的skyline,但是按照开发者工具中的提示,一个个对页面中的json加属性太麻烦,所以就想写个简单的node脚本,遍历所有注册的页面的json,添加属性
const fs = require("fs");
const path = require("path");
const appjson = require("./app.json");
const { pages = [], subpackages = [] } = appjson;
function getAllPages(pages, subpackages) {
let __pages = pages;
subpackages.forEach((ele) => {
ele.pages.forEach((page) => {
__pages.push(`${ele.root}/${page}`);
});
});
return __pages;
}
const allPages = getAllPages(pages, subpackages);
allPages.forEach((page) => {
try {
const filePath = path.resolve(`./${page}.json`);
const contents = fs.readFileSync(filePath, { encoding: "utf8" });
let __json = JSON.parse(contents);
__json.renderer = "skyline";
__json.navigationStyle = "custom";
fs.writeFileSync(filePath, JSON.stringify(__json));
} catch (err) {
console.error(err);
}
});
tips:由于使用的node版本是16,更高版本请自行替换导入方式