微生成器中使用 handlebars 进行文件操作的 API 封装,提供渲染单个模板文件和文件夹的方法。
import { HandlebarsAPI } from '@modern-js/codesmith-api-handlebars';
export default async (context: GeneratorContext, generator: GeneratorCore) => {
const handlebarApi = new HandlebarsAPI(generator);
await handlebarsAPI.renderTemplate(
material.get('templates/a.js'),
target: 'b.js',
{ data: "data" }
);
}
渲染单个模板文件。
参数:
FsResource
模板文件资源,通过 context.materials.get(<filename>)
使用。string
目标文件路径名称。Record<string, string>
渲染参数。渲染模板文件夹。
参数:
FsMaterial
当前微生成器执行的 material 上下文。string
模板文件匹配正则。(globMatch: string) => string
目标文件路径生成函数,参数为 resourceKey。
RenderTemplateDirOptions
glob 查找文件配置,具体函数可查看这里 glob。type RenderTemplateDirOptions = {
nodir?: boolean;
dot?: boolean;
ignore?: string | readonly string[];
};