gpt4 book ai didi

nrwl/nx 工作区特定原理图

转载 作者:行者123 更新时间:2023-12-04 16:30:48 27 4
gpt4 key购买 nike

我一直在研究 nrwl 扩展,它们看起来很棒。但是,当我按照他们的 Workspace Specific Schematics 教程进行操作时,最后一步没有显示要运行的命令。你能告诉我如何运行我创建的原理图吗?我确定这很简单,但我在任何地方都找不到命令。

最佳答案

(编辑:有关正确的 Nx 方法,请参阅 Stefan 的答案。如果您想发布原理图,您仍然需要遵循此答案)

原理图的 Nx 生成器并不能完成让您的原理图工作所需的一切。我在下面学到的是通过关注 this blog post by the Angular Team 在另一个目录中创建一个空白原理图。 ,我建议按照它来了解一般的原理图。

以下粗略的步骤应该可以帮助您走上正轨:

  • 使用 Nx 原理图生成原理图 ng g workspace-schematic
  • 添加 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 原理图以尝试在失败之前找到它
  • 添加 schematics字段到您的 package.json指向您 collection.json 的相对位置文件(例如 "schematics": "./tools/schematics/collection.json")
  • 将您的 Typescript 编译为 Javascript。我做了一个 package.json要运行的脚本 tsc -p tools/tsconfig.typescript.json (您应该修改您的 tsconfig 文件以保留已编译的 js)
  • (可选)修改您的 angular.json默认情况下指向您的集合。 cli > defaultCollection = "." (最初对我来说是 @nrwl/schematics)
  • 注意:将默认集合设置为“.”使它只能在根目录中工作。如果你需要在子文件夹中运行你的集合,你需要像 ng g ../..:data-access-lib 一样运行它。
  • 使用 ng g data-access-lib 运行您的原理图(如果您完成了第 5 步)或 ng g .:data-access-lib

  • Nx 原理图生成器似乎存在一些重大缺陷,但希望这能帮助您重回正轨。

    关于nrwl/nx 工作区特定原理图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51610745/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com