javascript Node.js任务的换行代码转换。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript Node.js任务的换行代码转换。相关的知识,希望对你有一定的参考价值。

const glob = require('glob')
const { readFile, writeFile } = require('fs')
const { promisify } = require('util')

const readFileAsync = promisify(readFile)
const writeFileAsync = promisify(writeFile)

const changeCode = 'CR+LF'

glob('public/**/*.+(html|css|js)', (err, files) => {
  if (err) console.log(err)
  ;(async () => {
    console.log('CR-LF-Replace: start')

    await Promise.all(
      files.map(async (file) => {
        const data = await readFileAsync(file, 'utf-8')

        const _beforeStr = data.toString()

        const _beforeCode = getBeforeCode(_beforeStr)
        const _afterCode = getAfterCode(changeCode)

        let _afterStr = ''
        if (_beforeCode) {
          _afterStr = _beforeStr.replace(_beforeCode, _afterCode)
        } else {
          _afterStr = _beforeStr + _afterCode
        }
        await writeFileAsync(file, _afterStr)

        console.log(`finish: ${file}`)
      })
    )

    console.log('CR-LF-Replace: end')
  })()
})

const getBeforeCode = (str) => {
  if (str.match('\r\n')) {
    return /\r\n/g
  } else if (str.match('\n')) {
    return /\n/g
  } else if (str.match('\r')) {
    return /\r/g
  }
}

const getAfterCode = (code) => {
  switch (code) {
    case 'CR+LF':
      return '\r\n'
    case 'LF':
      return '\n'
    case 'CR':
      return '\r'
  }
}

以上是关于javascript Node.js任务的换行代码转换。的主要内容,如果未能解决你的问题,请参考以下文章

如何清除表格行中元素的换行?

<input> 标签的换行

设置MyEclipse中代码的换行长度

java里如何表达MYSQL的换行?

echarts中自定义tooltip的换行问题

chrome console下编写javascript代码,要想换行按哪个键?