编写Angular原理图模板时"lowercase"的辅助函数是什么?
What is the helper function for "lowercase" when writing an Angular schematic template?
我正在按照 tutorial here 构建一个简单的 angular 原理图模板。一切顺利。本教程使用辅助函数 (dasherize
) 将文件名从 AwesomeWrap
转换为 hello-awesome-wrap
。
hello-__name@dasherize__
我想在我自己的实现中更改此功能以简单地确保文件名是小写的,因此 AwesomeWrap
应该是 awesomewrap
。
这个功能似乎没有很好的文档记录(或者我找不到),我找不到可用功能的列表。我尝试创建一个文件 view-__name@lowercase__.ts
但 lowercase
似乎没有可用的功能。
当我 运行 schematics .:sensor --name=test
时,我收到错误消息:
Error: Pipe "lowercase" is not defined.
那么正确的语法是什么?是否有可用这种方式执行的可用转换列表?
我只能想象他们将 dasherize__
转换为 require('dasherize')(__)
。其中 __
显然是文件名。 Soo,我想我们需要找到一个可以为您提供小写字母的包:
npm install lower-case
而且我想您可以将其用作:
view-__name@lower-case__.ts
Schematics Devkit 包中目前没有lowercase
。
您可以在此处查看所有支持的功能:https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/core/src/utils/strings.ts
如果您需要小写函数,您可以为此文件打开一个合并请求并添加它。
抱歉回答晚了。
在您的模板文件中(示例:./files/__name@dasherize__.component.ts
)文件只需使用 string.toLowerCase()
import { Component } from '@angular/core';
@Component({
selector: "<%= name.toLowerCase() %>",
template: `
`,
})
export class <%= classify(name)%>Component {
}
如果您想像 dasherize 一样使用它,请转到 index.ts
export function mySchematics(_options: Schema): Rule {
return (tree: Tree, _context: SchematicContext) => {
const sourceTemplates = url('./files');
const sourceParametrizedTemplates = apply(sourceTemplates, [
template({
..._options,
...strings,
tolowercase
})
]);
return mergeWith(sourceParametrizedTemplates)(tree, _context);
};
}
export function tolowercase(value: string): string {
return value.toLowerCase();
}
然后你可以在文件夹或文件名中使用like:
__name@tolowercase__component.ts
也可以像这样在模板中使用
import { Component } from '@angular/core';
@Component({
selector: "<%= tolowercase(name) %>",
template: `
`,
})
export class <%= classify(name)%>Component {
}
我正在按照 tutorial here 构建一个简单的 angular 原理图模板。一切顺利。本教程使用辅助函数 (dasherize
) 将文件名从 AwesomeWrap
转换为 hello-awesome-wrap
。
hello-__name@dasherize__
我想在我自己的实现中更改此功能以简单地确保文件名是小写的,因此 AwesomeWrap
应该是 awesomewrap
。
这个功能似乎没有很好的文档记录(或者我找不到),我找不到可用功能的列表。我尝试创建一个文件 view-__name@lowercase__.ts
但 lowercase
似乎没有可用的功能。
当我 运行 schematics .:sensor --name=test
时,我收到错误消息:
Error: Pipe "lowercase" is not defined.
那么正确的语法是什么?是否有可用这种方式执行的可用转换列表?
我只能想象他们将 dasherize__
转换为 require('dasherize')(__)
。其中 __
显然是文件名。 Soo,我想我们需要找到一个可以为您提供小写字母的包:
npm install lower-case
而且我想您可以将其用作:
view-__name@lower-case__.ts
Schematics Devkit 包中目前没有lowercase
。
您可以在此处查看所有支持的功能:https://github.com/angular/angular-cli/blob/master/packages/angular_devkit/core/src/utils/strings.ts
如果您需要小写函数,您可以为此文件打开一个合并请求并添加它。
抱歉回答晚了。
在您的模板文件中(示例:./files/__name@dasherize__.component.ts
)文件只需使用 string.toLowerCase()
import { Component } from '@angular/core';
@Component({
selector: "<%= name.toLowerCase() %>",
template: `
`,
})
export class <%= classify(name)%>Component {
}
如果您想像 dasherize 一样使用它,请转到 index.ts
export function mySchematics(_options: Schema): Rule {
return (tree: Tree, _context: SchematicContext) => {
const sourceTemplates = url('./files');
const sourceParametrizedTemplates = apply(sourceTemplates, [
template({
..._options,
...strings,
tolowercase
})
]);
return mergeWith(sourceParametrizedTemplates)(tree, _context);
};
}
export function tolowercase(value: string): string {
return value.toLowerCase();
}
然后你可以在文件夹或文件名中使用like:
__name@tolowercase__component.ts
也可以像这样在模板中使用
import { Component } from '@angular/core';
@Component({
selector: "<%= tolowercase(name) %>",
template: `
`,
})
export class <%= classify(name)%>Component {
}