gpt4 book ai didi

angular - 在 Angular 项目上运行时自定义 Angular 示意图 : Pipe "dasherize" is not defined.

转载 作者:行者123 更新时间:2023-12-04 01:09:13 26 4
gpt4 key购买 nike

我使用 Angular 原理图 cli 创建了一个简单的新原理图。该示意图将名称作为输入,并在树中生成一个文件。我的 files/ 目录如下所示:

src/
app/
__name@dasherize__.ts

我已经构建了它,然后创建了一个新的 Angular 项目:

ng new test-app --routing --style css

然后我 cd 进入 test-app 目录并链接到我的示例示意图:

npm link ../schematics/sample-schematic

然后我运行我的原理图:

ng g sample-schematic:sample

但是,当我这样做时,我得到了以下错误:

Pipe "dasherize" is not defined. 

如果我将我的 files 目录中的文件名更改为 test.ts 它工作正常,并创建文件。我猜我缺少一些导入来使用我的测试应用程序项目中的各种原理图功能。我的 test-app 依赖项和开发依赖项如下所示:

  "dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
...
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.13.0",
"@angular-devkit/core": "^7.3.9",
"@angular-devkit/schematics": "^7.3.9",
"@angular-devkit/schematics-cli": "^0.13.9",
"@angular/cli": "~7.3.9",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@schematics/angular": "^7.3.9",
...
}

最佳答案

请检查这个。也许对你有帮助。

一定要导入strings

import { strings } from '@angular-devkit/core';

然后,将 strings 传递给模板引擎,如下所示:

const sourceParametrizedTemplates = apply(sourceTemplates, [
template({
...options,
...strings,
})
]);

无需将函数分配给options。 (无论如何,更改 options 变量不是一个好习惯。

这样,dasherize 函数将在名称和模板代码中可用。

希望对你有所帮助。

关于angular - 在 Angular 项目上运行时自定义 Angular 示意图 : Pipe "dasherize" is not defined.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56042349/

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