首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载资料档案库中的Nx自定义逻辑示意图

无法加载资料档案库中的Nx自定义逻辑示意图
EN

Stack Overflow用户
提问于 2020-01-06 08:27:36
回答 1查看 744关注 0票数 1

我为自定义Nx构建器和schematics设置了一个代码库,以构建application / init。最初,我在tools/schematics文件夹中开发它,一切都正常,但我决定它应该存在于自己的repo中。我确保将schematics (collection.json)和builders (builders.json)添加到package.json中,并设置这两个文件。到那里为止,一切似乎都很正常。我使用yarn link将原理图添加到我的nx monorepo (这样我就不必在测试时重复推送它),然后尝试使用nx g nx-name:app添加一个应用程序,但我一直收到无法找到原理图模块的错误。

在张贴这篇文章之前,我已经尝试了很多。重命名文件。使用index.ts。正在重新安装node_modules。在纱线中重新连接。

错误:

代码语言:javascript
运行
复制
Cannot find module 'C:\...\monorepo\node_modules\nx-name\src\schematics\application\application'
Require stack:
- C:\...\monorepo\node_modules\@angular-devkit\schematics\tools\export-ref.js
- C:\...\monorepo\node_modules\@angular-devkit\schematics\tools\index.js
- C:\...\monorepo\node_modules\@nrwl\workspace\src\command-line\workspace-schematic.js
- C:\...\monorepo\node_modules\@nrwl\workspace\src\command-line\nx-commands.js
- C:\...\monorepo\node_modules\@nrwl\workspace\index.js
- C:\...\monorepo\node_modules\@nrwl\cli\lib\init-local.js
- C:\...\monorepo\node_modules\@nrwl\cli\bin\nx.js
- C:\...\AppData\Roaming\npm\node_modules\@nrwl\cli\bin\nx.js

我的collection.json:

代码语言:javascript
运行
复制
{
    "name": "nx-name",
    "version": "0.0.1",
    "extends": [
        "@nrwl/workspace"
    ],
    "schematics": {
        "init": {
            "factory": "./src/schematics/init/init",
            "schema": "./src/schematics/init/schema.json",
            "description": "Initialize the plugin",
            "aliases": [
                "ng-add"
            ],
            "hidden": true
        },
        "application": {
            "factory": "./src/schematics/application/application",
            "schema": "./src/schematics/application/schema.json",
            "description": "Create an application",
            "aliases": [
                "app"
            ]
        }
    }
}

我的文件夹结构:

代码语言:javascript
运行
复制
- src
    - builders
        - build
            - build.impl.ts
            - schema.json
    - schematics
        - application
            - files
                - a bunch of template files
            - application.ts
            - schema.d.ts
            - schema.json
        - init
            - init.ts
            - schema.d.ts
            - schema.json
- .gitignore
- builders.json
- collection.json
- package.json
- tsconfig.json
- index.ts
- yarn.lock

更新:

将收集工厂指向dist文件夹似乎会部分运行它?JSON文件会更新,但是构建器不会运行模板,也不会从模板生成文件。也许我需要设置一些东西,以便它知道如何构建typescript源代码?

添加package.json deps:

代码语言:javascript
运行
复制
"dependencies": {
    "@angular-devkit/architect": "^0.803.21",
    "@angular-devkit/core": "8.3.14",
    "@angular-devkit/schematics": "8.3.14",
    "shelljs": "^0.8.3",
    "typescript": "~3.5.3"
},
"devDependencies": {
    "@nrwl/workspace": "^8.9.0",
    "@types/node": "^13.1.4",
    "@types/shelljs": "^0.8.6"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-09 02:31:12

原来我是把typescript版本输出到dist文件夹中。不要这样做,否则会破坏collection.json和用于模板的所有文件的所有路径。只需在与ts文件相同的位置构建js文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59605411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档