openks / learn-vue

自定义组件文档
https://openks.github.io/learn-vue
0 stars 0 forks source link

20200318_遍历所有文件并在固定行插入固定内容 #134

Open openks opened 4 years ago

openks commented 4 years ago

遍历所有文件并在固定行插入固定内容

// TODO 替换所有文件里的某几个字为另外几个
// TODO eslint 去掉行位分号
// TODO eslint 使用单引号

// 往固定的行写入数据
function writeFileToLine(filePath, value) {
  let data = fs.readFileSync(filePath, 'utf8').split(/\r\n|\n|\r/gm); //readFileSync 的第一个参数是文件名
  data.splice(11, 0, value); //在第12行的位置插入内容
  fs.writeFileSync(filePath, data.join('\r\n'));
}

var fs = require('fs');
var path = require('path'); //解析需要遍历的文件夹
var filePath = path.resolve('./');

//文件遍历方法
function fileDisplay(filePath) {
  //根据文件路径读取文件,返回文件列表
  fs.readdir(filePath, function(err, files) {
    if (err) {
      console.warn(err);
    } else {
      var ignoreFiles = ['api.js', 'api.css', 'index.js', 'favicon.png'];
      //遍历读取到的文件列表
      files.forEach(function(filename) {
        //获取当前文件的绝对路径 默认当前文件夹下无子文件夹
        var filedir = path.join(filePath, filename);
        if (!ignoreFiles.includes(filename)) {
          writeFileToLine(filedir, '<link href="api.css" rel="stylesheet">');
        }
      });
    }
  });
}
//调用文件遍历方法
fileDisplay(filePath);