问题标签 [angular-schematics]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
567 浏览

angular - 如何执行外部 Angular 原理图并在后续规则中使用其结果?

我想先调用Angular的ng-new原理图,然后我的Rule需要对结果进行操作。

所以像:

但这不起作用。我的规则需要 angular.json ngNew 应该创建,因为当我的规则开始时显然不存在,所以规则失败。

那么有没有办法等待完成以下任一或以下操作:

a) 等待外部原理图完成,然后运行另一个原理图 b) 使第二个原理图使用第一个原理图返回的树?

就像:

0 投票
1 回答
422 浏览

angular - 角度示意图:将规则应用于当前树,然后修改树

我正在创建一个 Angular 示意图。我想将规则应用于当前树,然后修改树。

如以下代码段所述,我想应用创建的规则,因此tree.exists("./file.txt")返回true

笔记

return rule;创建 /file.txt,但我想通过 tree.create() 函数创建两个文件 file.txt(通过应用规则)和 hello.txt。

在应用规则之前使用 tree.create() 创建两个文件,但tree.exists('./file.txt')仍然返回 false。

0 投票
1 回答
282 浏览

angular - 嵌套 Angular 添加原理图

我有一个项目 Child 有一个添加原理图。如果 Child 成为项目 Parent 的依赖项,该项目也具有添加原理图,那么 ng-cli 将如何处理?我没有看到任何对ng add级联或调用依赖模式的引用。Parent 是否需要复制 Child 的原理图,或者有没有办法手动调用 Parent 原理图中的 Child 的原理图?

0 投票
1 回答
311 浏览

angular - 如何从自定义 Angular 示意图访问 Angular 项目文件夹?

我正在开发一个自定义的 Angular Schematic。此原理图必须访问 Angular 项目中将使用原理图的文件夹。(该文件夹包含生成我的 .ts 文件所需的配置文件)。原理图将提示用户输入路径(存储在 configFilesPath 中)

到目前为止,我只能通过这种方式访问​​此文件夹:

有没有更好的方法从原理图访问路径?

0 投票
0 回答
311 浏览

angular - 如何扩展角度原理图属性?

我的问题是可以扩展模式属性吗?

我尝试了什么:
collection.json

库/schema.json

和我的简化原理图库/index.ts

但看起来原理图没有扩展,因为当我运行
ng g lib megalib --unitTestRunner=jest --legacy
它时会抛出这个错误:
Unknown option: '--legacy'

为什么我要扩展(不是复制):当nrwl/angular架构和原理图代码更新时,我也会得到这些更改。

环境:
angular/*9.0.0-rc.8
@nrwl/*8.11.1

升级版:

我也尝试与$ref结合使用allOf,但它仅适用于http,请参阅问题。

0 投票
1 回答
98 浏览

angular - Angular Schematics:如何访问来自链中先前操作的 filesToCreate 记录集?

我制作了一个链式原理图,在第一部分中我使用以下方法生成了一个模块:

externalSchematic('@schematics/angular', 'module', moduleOptions).

在链的第二部分/元素中,我调用了我编写的示意图,并且我想编辑在上述模块创建期间添加的文件之一。然而tree.visit()迭代整个项目树,这是非常不必要的。

当我记录树/主机时,我看到它有一个私有_record的,并且用一个术语来说,它有一个_filesToCreate只包含在上一步中创建的文件的集合。

是否有tree我缺少的帮助函数或属性/方法有帮助?

更新

tree.getDir(path)在调用之前添加.visit()path作为添加文件的特定文件夹,当然会使事情变得更快。

我只想知道是否有办法在我的链的第二步中读取,获取在上一步中创建/修改的文件列表,因为它们保存在主机对象中,我只是找不到读取的方法设置列表。

0 投票
0 回答
63 浏览

angular - 以编程方式运行 Angular 原理图(不使用 CLI)

问题很简短:这是否可以在没有 CLI 的情况下运行原理图,这意味着在我的代码中?像这样:

这显然是我刚写的一些伪代码,问题主要是关于以编程方式运行原理图的可能性。谢谢!

0 投票
0 回答
909 浏览

angular - Angular 9 和 @ngrx/store 原理图

尝试使用 @ngrx/store 的原理图安装,但安装一直失败说:

The package that you are trying to add does not support schematics. You can try using a different version of the package or contact the package author to add ng-add support.

这是我的角度依赖版本:

这是一个新生成的项目,我已经使用ng add命令安装了其他包来强制安装原理图。想知道是否有人可以根据原理图帮助找出ngrx / store无法安装的原因。这是我正在运行的命令,只是为了清楚:ng add @ngrx/store它会引发上述错误。

这也是我使用的文档:https ://ngrx.io/guide/store/install#installing-with-ng-add

提前致谢。

0 投票
1 回答
212 浏览

angular - 如何从 Oclif 执行角度示意图

我正在使用 Oclif 编写 CLI,我尝试执行我构建的自定义原理图,但如果我使用“ng add”命令分开启动,原理图会正确询问。如果我从 Oclif 启动原理图,它什么都不问。

例子:

作品:在终端:ng add D:/projects/schematics/ams-front-schematics

不工作:

仅运行命令函数 exec:npmRun 库。

0 投票
1 回答
56 浏览

angular - Npm 不小心删除了通过 'ng add' 安装的包

在节点 13.10.1 上测试

ng add我正在通过命令安装一些 Angular Libraries+schematics(由我编写) 。库被添加到package.json 但不package-lock.json添加到. 当我尝试为我的项目提供服务时,我收到了一条关于库peerDependecies不满意的错误消息。

  1. 我跑npm i <missingpackages...>
  2. 我跑ng serve

然后我得到一个新的错误,我之前安装的 Angular 库现在消失了。只剩下他们的范围文件夹(@my-corp)

  1. 然后我重新运行npm i <libraries...>
  2. ng-serve

一切正常(库也已添加到其中package-lock.json)。谁能解释我这种奇怪的行为?