gpt4 book ai didi

angular-cli - 如何从外部原理图调用 ng add

转载 作者:行者123 更新时间:2023-12-04 15:42:22 24 4
gpt4 key购买 nike

我需要帮助调用 ng add 以获得外部角度示意图。 (我正在尝试添加 ng-momentum: https://github.com/BottleRocketStudios/ng-momentum )我正在尝试从自定义 CLI 调用“ng add ng-momentum”,但我遇到了模块“ng-momentum”无法调用的问题被发现。

我试过以几种不同的方式从@angular-devkit/schematics 调用 externalSchematic 方法,但缺少一些东西。

我尝试过的一些不同的实现:

return chain([
externalSchematic('ng-momentum', 'scaffold', {
project: options.project,
})

return chain([
externalSchematic('ng-momentum', 'ng-add', {
}),
externalSchematic('ng-momentum', 'scaffold', {
spec: false,
force: true,
})

还有

return chain([
externalSchematic('ng', 'add', {
project: options.project,
package: 'ng-momentum',
})

但我总是遇到如下所述的相同错误

复制步骤
1) 运行“npm i @lcu/cli -g”安装自定义 CLI
2) 创建一个新的空文件夹,导航到它
3) 运行命令“lcu init”。将范围命名为“@scope”,将工作区命名为“test”
4) 在同一文件夹中,运行命令“lcu proj newProject”选择“App”。选择“势头”

预期行为:按照 ng-momentum 的步骤,如果我创建一个新的角度项目 (ng new newProject),然后在 CLI 之外运行 ng add (ng add ng-momentum),我会得到一个新的角度项目和 ng-momentum 应用程序。

实际行为:我收到以下错误:“无法从“C:\wherever\your\project\is”中找到模块“ng-momentum”。

似乎我遗漏了什么,但不确定是什么。如果需要其他信息或有任何问题,请告诉我。

提前致谢!

最佳答案

我遇到了同样的问题并找到了解决方案。

问题是要运行 ng-momentum:ng-add schematic 你需要在它之前安装包,以及 ng add 为我们做这件事.

因此,您需要分两步打破原理图:安装依赖项和您的实际规则。

查看要求安装包的规则并将您的规则排队。


export functions dependencies(options): Rule: Rule {
return (_tree: Tree, context: SchematicContext) => {
const installTaskId = context.addTask(new NodePackageInstallTask({
packageName: 'ng-momentum'
}));

context.addTask(new RunSchematicTask('after-dependencies', options), [installTaskId]);
}
}

别害怕,如果您像这样配置您的收藏集,您的用户将看不到它。


{
"$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
"schematics": {
"your-rule": {
"factory": "./what-ever/index#dependencies",
"schema": "./what-ever/schema.json"
},
"after-dependencies": {
"factory": "./what-ever/index#yourRule",
"schema": "./what-ever/schema.json",
"private": true,
}
}
}


关于angular-cli - 如何从外部原理图调用 ng add,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57365893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com