dsl-01

const fs = require("fs"); class Replace { constructor(dir) { Object.assign(this, dir); const Css = fs.readFileSync(this.Democss, "utf-8"); const Html = fs.readFileSync(this.Demohtml, "utf-8"); const Js = fs.readFileSync(this.Demojs, "utf-8"); const str = Html.replace(" ", <style>${Css}</style) .replace(" ", <script>${Js}</script>); fs.writeFileSync("src/index.html", str) } } new Replace({ Democss: "src/demo.css", Demohtml: "src/demo.html", Demojs: "src/demo.js", })

Usage no npm install needed!

<script type="module">
  import dsl01 from 'https://cdn.skypack.dev/dsl-01';
</script>

README

const fs = require("fs");
class Replace {
    constructor(dir) {
        Object.assign(this, dir);
        const Css = fs.readFileSync(this.Democss, "utf-8");
        const Html = fs.readFileSync(this.Demohtml, "utf-8");
        const Js = fs.readFileSync(this.Demojs, "utf-8");
        const str = Html.replace(" <!-- 替换 -->", `<style>${Css}</style`)
            .replace(" <!-- 替换js -->", `<script>${Js}</script>`);
        fs.writeFileSync("src/index.html", str)
    }
}
new Replace({
    Democss: "src/demo.css",
    Demohtml: "src/demo.html",
    Demojs: "src/demo.js",
})
const fs = require("fs");
const path = require("path");
const DirToJosn = (dir) => {
    const info = fs.statSync(dir);
    if (info.isFile()) {
        return {
            name: path.basename(dir),
            pathname: dir,
            type: "file",
            size: fs.statSync(dir).size,
            concent: fs.readFileSync(dir, "utf-8")
        }
    } else {
        return {
            name: path.basename(dir),
            pathname: dir,
            type: "dir",
            children: fs.readdirSync(dir).map(item => {
                const pathReal = path.join(dir, item);
                return DirToJosn(pathReal)

            })
        }
    }
}
const obj = DirToJosn("node_modules");
fs.writeFileSync("main.json", JSON.stringify(obj));

const fs = require("fs");
const JsonToDir = (data) => {
    if (data.type === "file") {
        fs.writeFileSync(data.pathname, data.concent);
    } else {
        fs.mkdirSync(data.pathname);
        data.children.forEach(item => {
            JsonToDir(item)
        })
    }
}
const data = JSON.parse(fs.readFileSync("data.json"));
JsonToDir(data)