我一直在研究 nrwl 扩展,它们看起来很棒。但是,当我按照他们的教程进行操作时工作区特定原理图 https://nrwl.io/nx/workspace-specific-schematics,最后一步没有显示要运行的命令。你能告诉我如何运行我创建的原理图吗?我确信这很简单,但我在任何地方都找不到该命令。
(编辑:请参阅Stefan的答案以了解正确的Nx方法。如果您想发布原理图,您仍然需要遵循此答案)
Nx 原理图生成器并不能完成原理图工作所需的所有操作。我在下面学到的是通过以下方式在另一个目录中创建空白原理图Angular 团队的这篇博文 https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2,我建议遵循它来总体了解原理图。
以下粗略步骤应该可以帮助您上路:
- 使用 Nx 原理图生成原理图
ng g workspace-schematic
-
Add a collection.json
文件在tools/schematics
目录,例如
{
"$schema": "../../node_modules/@angular-devkit/schematics/collection-schema.json",
"name": "myCustomCollection",
"version": "0.0.1",
"extends": ["@nrwl/schematics"],
"schematics": {
"data-access-lib": {
"factory": "./data-access-lib",
"schema": "./data-access-lib/schema.json",
"description": "Create a Data Access Library"
}
}
}
请注意extends
属性,这意味着您的集合如果没有特定的原理图,将在失败之前查找 Nx 原理图以尝试找到它
- Add a
schematics
字段到你的package.json
指向您的相对位置collection.json
文件(例如"schematics": "./tools/schematics/collection.json"
)
- 将 Typescript 编译为 Javascript。我制造了一个
package.json
要运行的脚本tsc -p tools/tsconfig.typescript.json
(您应该修改 tsconfig 文件以保留编译后的 js)
- (Optional) Modify your
angular.json
to point to your collection by default. cli > defaultCollection = "."
(it was @nrwl/schematics
for me initially)
- 注意:将默认集合设置为“.”使其仅在根目录中工作。如果您需要在子文件夹中运行集合,则需要像这样运行
ng g ../..:data-access-lib
- 运行你的原理图
ng g data-access-lib
(如果您已完成第 5 步)或ng g .:data-access-lib
Nx 原理图生成器似乎存在一些重大缺陷,但希望这能帮助您回到正轨。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)