webpack package 里面经常用到一些json 文件的操作,做个笔记:
1、读写文件
import fs from "fs-extra";
import { resolve } from "path";
const __dirname = resolve();
// 读文件
const baseConfig = resolve(__dirname, `src/basePages.json`);
const baseJson = JSON.parse(fs.readFileSync(baseConfig, "utf8"));
// 写文件
const result = { ...Object.assign(baseJson, projectJson), pages: mergePages };
fs.writeFile("src/pages.json", JSON.stringify(result), "utf8", () =>
console.log(chalk.green("pages write success!"))
);
// # package.json 可以配合 pre 和 post 完成命令的前置和后续操作
// 打包前置脚本 和打包后置脚本的处理
"scripts": {
"build": "webpack",
"prebuild": "rimraf src/pages.json && rimraf src/manifest.json && node ./build/script/prev.mjs", // build 执行之前的钩子
"postbuild": "xxx",// build 执行之后的钩子
"build:wode": "pnpm change-page-json wode&&uni build -p mp-lark && node ./build/script/post.mjs wode build",
"change-page-json": "rimraf src/pages.json && rimraf src/manifest.json && node ./build/script/prev.mjs"
}