前端增长(node)(实践篇)

677 阅读1分钟

如何写一个把md转成html的插件?

这个问题其实考察的是对于node里,fs,path,process模块的使用。主要就是在读取到md源文件后,利用marked插件对md文件内容进行提取和转换,利用browser-sync插件对md内容进行实时监测,实时更新。核心代码如下:

let mdPath = path.join(__dirname, process.argv[2])
let cssPath = path.resolve('github.css')
let htmlPath = mdPath.replace(path.extname(mdPath), '.html')

fs.watchFile(mdPath, (curr, prev) => {
  if (curr.mtime !== prev.mtime) {
    fs.readFile(mdPath, 'utf-8', (err, data) => {
      // 将 md--》html
      let htmlStr = marked(data)
      fs.readFile(cssPath, 'utf-8', (err, data) => {
        let retHtml = temp.replace('{{content}}', htmlStr).replace('{{style}}', data)
        // temp是整体html底架,将上述的内容写入到指定的 html 文件中,用于在浏览器里进行展示
        fs.writeFile(htmlPath, retHtml, (err) => {
          console.log('html 生成成功了')
        })
      })
    })
  }
})

browserSync.init({
  browser: '',
  server: __dirname,
  watch: true,
  index: path.basename(htmlPath)
})

如何与硬件设备通信

note.youdao.com/s/JLZ3EEDv