Modern.js Module 提供了 Copy 工具用于将已经存在的单个文件或整个目录复制到产物目录中。接下来我们学习如何使用它。
我们可以通过 buildConfig.copy API 来使用 Copy 工具,它包含以下两个主要配置:
copy.patterns 用于寻找复制的文件以及配置输出的路径。
其中 patterns.from 用于指定要复制的文件或者目录。它接收 Glob 形式字符串或具体路径。Glob 形式字符串是指 fast-glob pattern-syntax。因此我们可以按照如下两种方式使用它:
patterns.context 一般和 patterns.from 配合使用,默认情况下它的值与 buildConfig.sourceDir 相同,因此我们可以按照如下方式指定 src/data.json 文件为要复制的文件:
默认情况下,
buildConfig.sourceDir为src
当指定的文件不在源码目录的时候,可以修改 context 配置。例如指定项目目录下的 temp/index.html 为要复制的文件:
或是拷贝 ./src/**/*.json 文件:
patterns.to 用于指定复制文件的输出路径,默认情况下它的值为 buildConfig.outDir对应的值。因此我们按照如下方式将 src/index.html 复制到 dist 目录下:
当我们配置了 patterns.to 的时候:
buildConfig.outDir 计算出复制文件输出的绝对路径。最后 patterns.globOptions 用于配置寻找复制文件 globby 对象,其配置可参考: