javascript Node.js任务的Shift_JIS转换。

Posted

tags:

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

const glob = require('glob')
const iconv = require('iconv-lite')
const { readFile, writeFile } = require('fs')
const { extname } = require('path')

const { promisify } = require('util')

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

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

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

        let _str = data.toString()
        switch (extname(file)) {
          case '.html':
            _str = _str.replace(/charset="utf-8"/g, 'charset="Shift_JIS"')
            break
          case '.css':
            _str = _str.replace(/@charset "UTF-8"/g, '@charset "Shift_JIS"')
            break
        }
        const _buf = iconv.encode(_str, 'shift_jis')
        
        await writeFileAsync(file, _buf)

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

    console.log('To Shift-JIS: end')
  })()
})

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

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

javascript 通过Node.js任务创建svg sprite。

javascript Node.js任务的Shift_JIS转换。

javascript Node.js训练任务2(使用npm安装的cowsay)

Node.js编程之异步

JavaScript 异步栈事件循环任务队列