const message = require("../public/h5_assets/messages/zh_CN/common.json"); const fs = require('fs') let keys = []; function toHump(name) { return name.replace(/_(\w)/g, function (all, letter) { return letter.toUpperCase(); }); } function parse(obj, preFix = "", preKey = "") { Object.keys(obj).forEach(key => { if (typeof obj[key] == 'string') { keys.push(` ${ preFix }${ preFix === "" ? "" : '$' }${ toHump(key) } = "${ preKey }${ preKey === "" ? "" : '.' }${ key }",`); } else { parse(obj[key], `${ preFix }${ preFix === "" ? "" : '$' }${ toHump(key) }`, `${ preKey }${ preKey === "" ? "" : '.' }${ key }`) } }); } keys.push("export enum KEYS {"); parse(message); keys.push("}"); fs.writeFile('./lib/keys.ts', keys.join('\n'), (e) => { console.info(e); });