问题描述
在我正在处理的 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 (将#修改为@)