当前位置: 首页 > news >正文

nodejs 复制文件到指定目录

var fs = require('fs'),

    path = require('path'),

    exec = require('child_process').exec,

    sourcePath, targetPath;

//获取命令行中的路径

process.argv.forEach(function (val, index, array) {

    if (index == 2) {

        sourcePath = val;

    }

    if (index == 3) {

        targetPath = val;

    }

});

// 定义需要原封不动copy的文件类型

var copyFileType = ['.eot', '.svg', '.ttf', '.woff'];

var lessc = function (rootPath, targetPath) {

    //取得当前绝对路径

    rootPath = path.resolve(rootPath);

    //目标路径绝对路径

    targetPath = path.resolve(targetPath);

    //判断目录是否存在

    fs.exists(rootPath, function (exists) {

        //路径存在

        if (exists) {

            //获取当前路径下的所有文件和路径名

            var childArray = fs.readdirSync(rootPath);

            if (childArray.length) {

                for (var i = 0; i < childArray.length; i++) {

                    var currentFilePath = path.resolve(rootPath, childArray[i]);

                    var currentTargetPath = path.resolve(targetPath, childArray[i]);

                    //读取文件信息

                    var stats = fs.statSync(currentFilePath);

                    //若是目录则递归调用

                    if (stats.isDirectory()) {

                        lessc(currentFilePath, currentTargetPath);

                    } else {

                        //判断文件是否是原封不动copy的文件

                        if (copyFileType.includes(path.extname(currentFilePath))) {

                            var newFilePath = path.resolve(targetPath, path.basename(currentFilePath));

                            if (!fs.existsSync(targetPath)) {

                                fs.mkdirSync(targetPath, { recursive: true });

                            }

                            console.log(newFilePath);

                            exec('cp ' + currentFilePath + ' ' + targetPath);

                        }

                    }

                }

            }

        } else {

            console.log('directory is not exists');

        }

    });

};

lessc('./src/components', './dist/components');

http://www.lryc.cn/news/65809.html

相关文章:

  • 第八章 使用Apache服务部署静态网站
  • Three——四、几何体、高光网络材质、锯齿模糊以及GUI库的使用
  • 盲目自学网络安全只会成为脚本小子?
  • 文从字顺|程序员须知,如何编写高质量代码
  • PCIe物理层弹性缓存机制(详细)解析-PCIe专题知识(四)
  • 分片上传和断点续传的区别?实现思路是什么?
  • 微前端 qiankun@2.10.5 源码分析(二)
  • 08异步请求:何种场景下应该使用异步请求?
  • 【深度学习 | Transformer】Transformers 教程:pipeline一键预测
  • HTMLCSS
  • 【安装Nginx】
  • VSCode作业1:猜数字游戏和简单计数器(包含完整代码)
  • NANK OE骨传导开放式蓝牙耳机发布,极致体验拉满!
  • 看完这篇文章你就彻底懂啦{保姆级讲解}-----(I.MX6U驱动GPIO中断《包括时钟讲解》) 2023.5.9
  • MySql -- 事务
  • 关于大模型对未来影响的一点看法
  • Android - 约束布局 ConstraintLayout
  • Addictive Multiplicative in NN
  • LeetCode 1206. 实现跳表
  • 离散数学_九章:关系(2)
  • [ubuntu][原创]通过apt方式去安装libnccl库
  • YonLinker连接集成平台构建新一代产业互联根基
  • 泛型的详解
  • 用科技创造未来!流辰信息技术助您实现高效办公
  • 基于R语言APSIM模型
  • 块状链表实现BigString大字符串操作(golang)
  • 项目问题记录(持续更新)
  • Linux的进程
  • 与其焦虑被 AI 取代或猜测前端是否已死, 不如看看 vertical-align 扎实你的基础!!!
  • 路由、交换机、集线器、DNS服务器、广域网/局域网、端口、MTU