Angular 角度构件和腹板构件的自定义前缀

Angular 角度构件和腹板构件的自定义前缀,angular,typescript,webstorm,Angular,Typescript,Webstorm,几个月前,我开始使用VisualStudioCodeEditor在Angular中启动一个项目 今天我切换到WebStorm,我还将我的项目升级到Angular 4.0 虽然我的项目运行良好,没有任何错误,但我在WebStorm中收到以下错误: TSLint:组件“ConnectionStatusComponent”的选择器 应具有前缀“app”( )(组件选择器) 通过这个链接,我意识到在组件选择器中添加一个自定义前缀是一个很好的做法,以防止与其他应用程序中的组件和本机HTML元素发生名称冲突

几个月前,我开始使用VisualStudioCodeEditor在Angular中启动一个项目

今天我切换到WebStorm,我还将我的项目升级到Angular 4.0

虽然我的项目运行良好,没有任何错误,但我在WebStorm中收到以下错误:

TSLint:组件“ConnectionStatusComponent”的选择器 应具有前缀“app”( )(组件选择器)

通过这个链接,我意识到在组件选择器中添加一个自定义前缀是一个很好的做法,以
防止与其他应用程序中的组件和本机HTML元素发生名称冲突

我明白。我的问题是为什么我必须使用
app
前缀而不是其他前缀?如果我在
app
中加上其他前缀,WebStorm会将该行标记为错误

根据该链接的样式指南:

请为组件选择器使用自定义前缀。例如 前缀toh表示来自《英雄之旅》和前缀admin 表示管理功能区域


我可以使用任何我想要的前缀。前缀名有规定吗?

据我所知,前缀名没有严格的规定。如果您正在使用CLI,则可以在
angular CLI.json
中的
apps
下编辑
prefix
节点。这将使cli使用您决定的前缀创建新组件。对于
tslint.json
,您可以设置组件和指令规则:

"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
希望这有帮助

编辑

如果要使用多个前缀,可以在如下()的数组中指定它们:

  • 在数组中,第一个参数是一个布尔值,表示它是否为 是否启用
  • 第二个参数是具有选项
    属性的联合类型
    元素
  • 第三个参数是单个前缀的字符串或数组 查看前缀列表
  • 第四个参数是
    kebab case
    camelCase

您可以在“组件选择器”的设置下更改tslint文件中的此设置-从阵列中删除“应用程序”,并为每个组件使用多个前缀。首先是应用程序来区分我的组件。秒是功能模块的名称。三是父视图。例如,
应用核心登录页脚
。我想,随着时间的推移,我将达到第四级。谢谢。还有一个问题。如果我想使用多个前缀,如“admin”、“user”等,该怎么办?在tslint.json中有这样做的方法吗?谢谢,我在WebStorm中遇到了同样的问题,src文件夹中的tslint不是根=)
//RULES: [ENABLED, "attribute" | "element", "selectorPrefix" | ["listOfPrefixes"], "camelCase" | "kebab-case"]
  "directive-selector": [true, "attribute", ["dir-prefix1", "dir-prefix2"], "camelCase"],
  "component-selector": [true, "element", ["cmp-prefix1", "cmp-prefix2"], "kebab-case"],