问题标签 [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.
angular - 如何执行外部 Angular 原理图并在后续规则中使用其结果?
我想先调用Angular的ng-new原理图,然后我的Rule需要对结果进行操作。
所以像:
但这不起作用。我的规则需要 angular.json ngNew 应该创建,因为当我的规则开始时显然不存在,所以规则失败。
那么有没有办法等待完成以下任一或以下操作:
a) 等待外部原理图完成,然后运行另一个原理图 b) 使第二个原理图使用第一个原理图返回的树?
就像:
angular - 角度示意图:将规则应用于当前树,然后修改树
我正在创建一个 Angular 示意图。我想将规则应用于当前树,然后修改树。
如以下代码段所述,我想应用创建的规则,因此tree.exists("./file.txt")
返回true
笔记
return rule;
创建 /file.txt,但我想通过 tree.create() 函数创建两个文件 file.txt(通过应用规则)和 hello.txt。
在应用规则之前使用 tree.create() 创建两个文件,但tree.exists('./file.txt')
仍然返回 false。
angular - 嵌套 Angular 添加原理图
我有一个项目 Child 有一个添加原理图。如果 Child 成为项目 Parent 的依赖项,该项目也具有添加原理图,那么 ng-cli 将如何处理?我没有看到任何对ng add
级联或调用依赖模式的引用。Parent 是否需要复制 Child 的原理图,或者有没有办法手动调用 Parent 原理图中的 Child 的原理图?
angular - 如何从自定义 Angular 示意图访问 Angular 项目文件夹?
我正在开发一个自定义的 Angular Schematic。此原理图必须访问 Angular 项目中将使用原理图的文件夹。(该文件夹包含生成我的 .ts 文件所需的配置文件)。原理图将提示用户输入路径(存储在 configFilesPath 中)
到目前为止,我只能通过这种方式访问此文件夹:
有没有更好的方法从原理图访问路径?
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
,请参阅此问题。
angular - Angular Schematics:如何访问来自链中先前操作的 filesToCreate 记录集?
我制作了一个链式原理图,在第一部分中我使用以下方法生成了一个模块:
externalSchematic('@schematics/angular', 'module', moduleOptions)
.
在链的第二部分/元素中,我调用了我编写的示意图,并且我想编辑在上述模块创建期间添加的文件之一。然而tree.visit()
迭代整个项目树,这是非常不必要的。
当我记录树/主机时,我看到它有一个私有_record
的,并且用一个术语来说,它有一个_filesToCreate
只包含在上一步中创建的文件的集合。
是否有tree
我缺少的帮助函数或属性/方法有帮助?
更新
tree.getDir(path)
在调用之前添加.visit()
,path
作为添加文件的特定文件夹,当然会使事情变得更快。
我只想知道是否有办法在我的链的第二步中读取,获取在上一步中创建/修改的文件列表,因为它们保存在主机对象中,我只是找不到读取的方法设置列表。
angular - 以编程方式运行 Angular 原理图(不使用 CLI)
问题很简短:这是否可以在没有 CLI 的情况下运行原理图,这意味着在我的代码中?像这样:
这显然是我刚写的一些伪代码,问题主要是关于以编程方式运行原理图的可能性。谢谢!
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
提前致谢。
angular - 如何从 Oclif 执行角度示意图
我正在使用 Oclif 编写 CLI,我尝试执行我构建的自定义原理图,但如果我使用“ng add”命令分开启动,原理图会正确询问。如果我从 Oclif 启动原理图,它什么都不问。
例子:
作品:在终端:ng add D:/projects/schematics/ams-front-schematics
不工作:
仅运行命令函数 exec:npmRun 库。
angular - Npm 不小心删除了通过 'ng add' 安装的包
在节点 13.10.1 上测试
ng add
我正在通过命令安装一些 Angular Libraries+schematics(由我编写) 。库被添加到package.json
但不package-lock.json
添加到. 当我尝试为我的项目提供服务时,我收到了一条关于库peerDependecies
不满意的错误消息。
- 我跑
npm i <missingpackages...>
- 我跑
ng serve
然后我得到一个新的错误,我之前安装的 Angular 库现在消失了。只剩下他们的范围文件夹(@my-corp)
- 然后我重新运行
npm i <libraries...>
, ng-serve
一切正常(库也已添加到其中package-lock.json
)。谁能解释我这种奇怪的行为?