1.0.0 • Published 4 years ago
demo-1809a v1.0.0
替换
const fs = require("fs");
class ReplaceHTML {
constructor(opt) {
Object.assign(this, opt);
const htmlCon = fs.readFileSync(this.htmlsrc, "utf-8");
const cssCon = fs.readFileSync(this.csssrc, "utf-8");
const jsCon = fs.readFileSync(this.jssrc, "utf-8");
const str = htmlCon.replace("<!-- 替换css -->", `<style>${cssCon}</style>`)
.replace("<!-- 替换js -->", `<script>${jsCon}</script>`)
fs.writeFileSync("src/demo.html", str)
}
}
new ReplaceHTML({
htmlsrc: "src/index.html",
csssrc: "src/index.css",
jssrc: "src/index.js",
})
dir-to-json
const fs = require("fs");
const path = require("path");
function dirToJson(dir) {
// 完成代码
const isFile = fs.statSync(dir).isFile();
if (isFile) {
return {
name: path.basename(dir),
pathname: dir,
type: "file",
size: fs.statSync(dir).size,
content: fs.readFileSync(dir, "utf-8")
}
} else {
return {
name: path.basename(dir),
pathname: dir,
type: "dir",
children: fs.readdirSync(dir).map(item => {
const realPath = path.join(dir, item);
return dirToJson(realPath)
})
}
}
}
const o = dirToJson("node_modules");
fs.writeFileSync("data.json", JSON.stringify(o))
json-to-dir
const fs = require("fs");
const jsonToDir = (data) => {
// 判断是不是文件
if (data.type === "file") {
// 生成文件
fs.writeFileSync(data.pathname, data.content);
} else {
// 创建文件夹
fs.mkdirSync(data.pathname);
// 递归
data.children.forEach(item => {
jsonToDir(item)
})
}
}
const data = JSON.parse(fs.readFileSync("data.json"))
jsonToDir(data)
1.0.0
4 years ago