Вам нужно изменить два файла tslint.json и .angular-cli.json, предположим, вы хотите изменить на myprefix :
В файле tslint.json просто измените следующие 2 атрибута:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
измените "приложение" на "мой префикс"
"directive-selector": [true, "attribute", "myprefix", "camelCase"],
"component-selector": [true, "element", "myprefix", "kebab-case"],
В файле angular.json просто измените префикс атрибута:
(Для версии angular меньше 6 имя файла - .angular-cli.json)
"app": [
...
"prefix": "app",
...
измените "приложение" на "мой префикс"
"app": [
...
"prefix": "myprefix",
...
Если в этом случае вам нужно более одного префикса, как указывает @Salil Junior :
"component-selector": [true, "element", ["myprefix1", "myprefix2"], "kebab-case"],
При создании нового проекта с использованием Angular cli используйте этот параметр командной строки
ng new project-name --prefix myprefix
ng generate component
даже после обновленияtslint.json
:You are using different prefix from app, you might get lint errors. Please update "tslint.json" accordingly.
мне пришлось обновитьapps.prefix
свойство,.angular-cli.json
чтобы избавиться от этого предупреждения.tslint.json
можно найти дополнительный файл, в<your-project>/src/tslint.json
котором содержатся правила выбора компонентов и директив. Если вы применили вышеуказанное исправление, но оно по-прежнему не работает, убедитесь, что вы проверяете, что этот файл не отменяет вашу глобальную конфигурацию. ( github.com/mgechev/codelyzer/issues/620#issuecomment-394131604 )angular-cli.json
: "prefix": "defaultPrefix", чтобы angular-cli использовал его для генерации компонентов.Просто
tslint.json
так:источник
На самом деле, с Angular Cli вы можете просто изменить тег «prefix» внутри массива «apps» на вашем
angular-cli.json
, расположенном в корневом приложении.Меняем на "TheBestPrefix", вот так.
Когда вы создаете новый компонент с помощью интерфейса командной строки,
ng g component mycomponent
тег компонента будет иметь следующее имя"TheBestPrefix-mycomponent"
источник
В
angular 6/7
дальнейшемtslint.json
внутри вашей/src
папки будет находиться папка, содержащаяtslist
правила для вашего компонента и директивы.Изменение этого файла устранит проблему.
источник
tslint.json
файл.directive-selector
добавленное мной,"directivePrefix"
которое будет префиксом для директивы и то же самое для компонентовСпасибо @Aniruddha, указав на изменения в angular 7:
создать
tslint.json
в ,src/app/shared
чтобы продлитьapp/tslint.json
:Одна вещь - если в app.component.spec вы имитируете компонент из общего модуля, он будет жаловаться, что ваш селектор mocks начинается с «shared», а не с «app». Полагаю, это имеет смысл - я должен создавать свои макеты в модуле, откуда они пришли.
источник
tslint.json
"компонент-селектор": [истина, "элемент", "приложение", "кебаб-кейс"]
этот 'kebab-case' заставляет любой селектор компонентов использовать этот '-' регистр.
например, у вас может быть такой селектор, как « app-test », « app-my ».
И что касается вашей ошибки, вы должны запустить селектор компонентов с помощью «приложения», как я только что упомянул в примере.
Я не думаю, что вам следует вносить какие-либо изменения в tslint.json, хотя это решит вашу проблему, но не рекомендуется изменять tslint.
Благодарность
источник