【发布时间】:2021-11-21 11:17:48
【问题描述】:
我有一个 Nx Angular 单一存储库。我想实现一个自定义生成器,这样我就可以快速创建应用程序。我可以使用来自@nrwl/workspace 的libraryGenerator 函数来生成库。到目前为止,我的生成器看起来像这样:
import { Tree, formatFiles } from '@nrwl/devkit';
import { libraryGenerator } from '@nrwl/workspace';
export default async function (host: Tree, schema: App) {
await generateLibrary(host, schema, 'models', 'domain');
await generateLibrary(host, schema, 'data-access', 'data');
await formatFiles(host);
}
async function generateLibrary(
host: Tree,
schema: App,
libraryName: string,
type: string
) {
const directory = `${schema.system.toLowerCase()}/${schema.name}`;
const importPath = `@org/${schema.system.toUpperCase()}/${
schema.name
}/${libraryName}`;
await libraryGenerator(host, {
name: libraryName,
directory,
importPath,
linter: 'eslint',
simpleModuleName: true,
strict: true,
tags: `type:${type}', scope:${schema.scope}`,
});
}
现在,我也想生成应用程序,但我不确定如何做到这一点,因为没有什么比来自@nrwl/workspace 或来自@nrwl/devkit 的“应用程序生成器”更相似。
【问题讨论】: