const chokidar = require('chokidar') const path = require('path') const fs = require('fs') const { exec } = require('node:child_process') const { transformMdToVue } = require('./transformMdToVue') const reBuildAll = () => { exec( 'node ./buildDoc.js', { cwd: path.resolve(__dirname) }, (error, msg) => { console.log(error, msg) } ) } const buildOne = file => { let content = fs.readFileSync(file, 'utf-8') let doc = transformMdToVue(content) let destPath = path.join(path.dirname(file), './index.vue') fs.writeFileSync(destPath, doc) } chokidar .watch(path.join(__dirname, '../src/pages/Doc/'), { ignoreInitial: true }) .on('all', (event, file) => { if (/\.md$/.test(file)) { if (event === 'change') { buildOne(file) } else { reBuildAll() } } })