@modern-js/codesmith-api-fs

微生成器中文件操作的 API 封装,提供渲染单个模板文件和文件夹的方法。FsAPI 通常用于处理二进制文件或者不能使用 handlebars、ejs 处理的模板文件。

使用姿势

import { FsAPI } from '@modern-js/codesmith-api-fs';

export default async (context: GeneratorContext, generator: GeneratorCore) => {
  const handlebarApi = new HandlebarsAPI(generator);
  await handlebarsAPI.renderFile(
     material.get('templates/a.js'),
     target: 'b.js'
   );
}
  • 创建 FsAPI 实例,参数为微生成器函数参数的 generator,具体介绍请看微生成器项目组成 。
  • 调用其实例上 API 即可。

API

renderFile

渲染单个模板文件。

参数:

  • resource: FsResource 模板文件资源,通过 context.materials.get(<filename>) 使用。
  • target: string 目标文件路径名称。

renderDir

渲染模板文件夹。

参数:

  • material: FsMaterial 当前微生成器执行的 material 上下文。
  • findGlob: string 模板文件匹配正则。
  • target: (globMatch: string) => string 目标文件路径生成函数,参数为 resourceKey。
  • options?: RenderTemplateDirOptions glob 查找文件配置,具体函数可查看这里 glob
type RenderTemplateDirOptions = {
  nodir?: boolean;
  dot?: boolean;
  ignore?: string | readonly string[];
};
,