如何解决Angular 使用本地原理图集合
在我正在处理的 Angular 项目中,我想使用自定义原理图。
我想扩展默认原理图并向生成的打字稿文件添加自定义文件头。
我不想为此创建和发布原理图项目,原理图应该放在项目内的 tools
文件夹中。此外,我希望能够将我的自定义原理图集合设置为默认集合。
我已经有了一个工作设置,但自从更新到 Angular 11 和 npm 7 后,它不再工作了。
以前的工作设置如下所示:
- 包含 package.json 和文件夹“apps”、“libs”和“tools”的根项目
- “tools”文件夹包含自定义原理图、collection.json 和 package.json,后者在安装后任务中编译它们。
- root 项目的 package.json 在 postinstall 任务中使用 npm 链接来链接“工具”
但是,由于我使用的是 npm 7,npm 链接不再在“工具”上执行 npm install 并且“工具”的安装后任务失败,因为没有安装本地打字稿版本。
现在我尝试从工具中删除 package.json 并在主项目中包含工具。此外,我还添加了 schematics
属性,该属性将 collection.json
指向 package.json
。但是,Angular 希望“defaultCollection”是一个 npm 包或一个带有 package.json
的文件夹,我无法告诉它改用本地 package.json
。
到目前为止,我想出的最佳解决方案是使用“.”。作为“defaultCollection”,但这意味着它在当前文件夹中查找。因此,当我在子文件夹中执行 generate
命令时,它不起作用。
因此,当我在 ng generate component test
中执行 web/apps/demo/src/components/
时,它会在 package.json
而不是 web/apps/demo/src/components
中查找 web
。
所以我的问题是:使用自定义的本地原理图作为 Angular 的默认原理图的正确设置是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。