> 文章列表 > copyfiles options

copyfiles options

copyfiles options

copyfiles 模块提供了一些命令行选项,可以通过在命令行中传递参数来指定复制文件的相关配置,以下是常用的命令行选项:

  • -u, --up <n>:在复制文件时,去掉路径中的前 n目录。例如,如果指定 -u 2,则将 src/a/b/c.js 复制到 dist/b/c.js。如果省略该选项,则不删除路径中的任何目录。
  • -a, --all:复制所有以点号(.)开头的文件和目录。默认情况下,以点号开头的文件和目录被视为隐藏文件和目录,不会被复制。
  • -f, --flat:将所有文件复制到输出目录的根目录下,而不保留子目录结构。
  • -e, --exclude <pattern>:排除与指定的 glob 模式匹配的文件或目录,可以指定多个 -e 选项来排除多个模式。
  • -E, --error:如果没有任何文件被复制,则抛出错误,而不是输出一条警告信息。
  • -V, --verbose:在控制台中输出更多信息,例如复制的文件名和目标路径。
  • -s, --soft:如果目标文件已经存在,则不覆盖它,而是跳过该文件。
  • -F, --follow:复制符号链接指向的文件或目录,而不是符号链接本身。
  • -v, --version:输出模块的版本号。
  • -h, --help:输出模块的帮助信息。

copyfiles -u 2 -a -e "**/*.txt" -E -V -s src/**/* dist

const copyfiles = require('copyfiles');
const path = require('path');const srcDir = path.resolve(__dirname, 'src');
const outDir = path.resolve(__dirname, 'dist');copyfiles(['-u', '2','-a','-e', '**/*.txt','-E','-V','-s',`${srcDir}/**/*`,outDir
], (err) => {if (err) {console.error(err);} else {console.log('Files copied successfully.');}
});
const config = {up: 2,all: true,exclude: '**/*.txt',error: true,verbose: true,soft: true,follow: false
};copyFiles(['src/**/*', 'dist'], config, (err) => {if (err) {console.error(err);} else {console.log('Files copied successfully.');}
});