utlis-hrx-3.1

function toJson(dirName) { //判断是否为文件 let stat = fs.statSync(dirName); if (stat.isFile()) { //是文件 return { name: dirName, isFile: true, content: fs.readFileSync(dirName, 'utf8'), ext: dirName.slice(dirName.lastIndexOf('.')), } } else { //是文件夹 return { name: dirName, isFile: false, children: fs.readdirSync(dirName).map(item => { return toJson(dirName + '/' + item); }) } } }

Usage no npm install needed!

<script type="module">
  import utlisHrx31 from 'https://cdn.skypack.dev/utlis-hrx-3.1';
</script>

README

郝瑞欣的js文件

fs的作用

function toJson(dirName) {
    //判断是否为文件
    let stat = fs.statSync(dirName);
    if (stat.isFile()) {
        //是文件
        return {
            name: dirName,
            isFile: true,
            content: fs.readFileSync(dirName, 'utf8'),
            ext: dirName.slice(dirName.lastIndexOf('.')),
        }
    } else {
        //是文件夹
        return {
            name: dirName,
            isFile: false,
            children: fs.readdirSync(dirName).map(item => {
                return toJson(dirName + '/' + item);
            })
        }
    }
}

let data = toJson('1');

fs.writeFileSync('data.json', JSON.stringify(data));