zoukankan      html  css  js  c++  java
  • nodejs 批量将js文件替换成jsx文件

    var fs = require('fs');
    var path = require('path');
    var filePath = path.resolve(process.cwd(), 'src/pages/Crm');
     
    //调用文件遍历方法
    fileDisplay(filePath);
     
    /**
     * 文件遍历方法
     * @param filePath 需要遍历的文件路径
     */
    function fileDisplay(filePath){
    //   console.log(8977)
        //根据文件路径读取文件,返回文件列表
        fs.readdir(filePath,function(err,files){
          console.log(files, 'files');
            if(err){
                console.warn(err)
            }else{
                //遍历读取到的文件列表
                files.forEach(function(filename){
                    //获取当前文件的绝对路径
                    var filedir = path.join(filePath,filename);
                    //根据文件路径获取文件信息,返回一个fs.Stats对象
                    fs.stat(filedir,function(eror,stats){
                        if(eror){
                            console.warn('获取文件stats失败');
                        }else{
                            var isFile = stats.isFile();// 是文件
                            var isDir = stats.isDirectory();// 是文件夹
                            if(isFile){
                                //这里请根据需要替换后缀名,我的是要把.js替换成.jsx
                                if(filedir.includes('.js')){
                                  const content = fs.readFileSync(filedir) // 读取内容
                                  if (/import React/.test(content)) {
                                    rename(filedir, filedir.replace('.js', '.jsx'))
                                  }
                                }
                            }
                            if(isDir){
                                fileDisplay(filedir);// 递归,如果是文件夹,就继续遍历该文件夹下面的文件
                            }
                        }
                    })
                });
            }
        });
    }
     
     
     
    // 修改文件名称
    function rename (oldPath, newPath) {
        fs.rename(oldPath, newPath, function(err) {
            if (err) {
                throw err;
            }
        });
    }
  • 相关阅读:
    软件测试 (三) 界面测试
    软件测试 (二) 六年软件测试感悟
    软件测试 (一) 软件测试方法大汇总
    第二阶段站立会议6
    第二阶段站立会议5
    构建之法阅读笔记04
    第二阶段站立会议4
    第二阶段站立会议3
    第二阶段站立会议2
    第二阶段站立会议1
  • 原文地址:https://www.cnblogs.com/yxfboke/p/14350607.html
Copyright © 2011-2022 走看看