Пользовательский префикс для компонентов Angular и WebStorm
Я изначально начал несколько месяцев назад проект в Angular с помощью редактора кода Visual Studio.
сегодня я переключился на WebStorm, а также обновил свой проект до Angular 4.0.
В то время как мой проект работает хорошо без каких-либо ошибок, я получаю следующую ошибку в WebStorm:
TSLint: селектор компонента " ConnectionStatusComponent" должен иметь префикс " app" ( https://angular.io/docs/ts/latest/guide/style-guide.html#!#02-07) (компонент-селектора)
после этой ссылки я понял, что это хорошая практика, чтобы добавить пользовательский префикс в селектор компонентов в prevent name collisions with components in other apps and with native HTML elements
Я понимаю, что. Мой вопрос в том, почему я вынужден использовать app
префикс, а не другие приставки? Если я ставлю другой префикс, то app
, WebStorm отметит строку как ошибку.
согласно Руководству по стилю из этого ссылка:
используйте пользовательский префикс для селектора компонентов. Например, префикс toh представляет из тура героев и префикс admin представляет админку.
Я могу использовать любой префикс, который я хочу. Есть ли правило на имя префикса?
1 ответов
насколько я знаю, нет строгих правил по имени префикс. Если вы используете CLI, вы можете редактировать prefix
узел apps
на angular-cli.json
. Это заставит cli создавать новые компоненты с любым префиксом, который вы решите. Для tslint.json
вы можете установить как компонентные, так и директивные правила:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
надеюсь, что это помогает.
редактировать
если вы хотите использовать более одного префикса, вы можете указать их в массив как это(пример отсюда):
//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"],
- в массиве первый аргумент является логическим для того, является ли он включено или нет.
- второй аргумент-это тип объединения с вариантами
attribute
илиelement
. - третьим аргументом является либо строка для одного префикса, либо массив для списка префиксов.
- и четвертый аргумент является типом объединения либо
kebab-case
илиcamelCase
.