Você precisa modificar dois arquivos tslint.json e .angular-cli.json, suponha que você queira alterar para myprefix :
No arquivo tslint.json, modifique os 2 atributos a seguir:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
mude "app" para "myprefix"
"directive-selector": [true, "attribute", "myprefix", "camelCase"],
"component-selector": [true, "element", "myprefix", "kebab-case"],
No arquivo angular.json, modifique o prefixo do atributo:
(para versão angular menor que 6, o nome do arquivo é .angular-cli.json)
"app": [
...
"prefix": "app",
...
mude "app" para "myprefix"
"app": [
...
"prefix": "myprefix",
...
Se, no caso, você precisar de mais de um prefixo, como aponta o @Salil Junior :
"component-selector": [true, "element", ["myprefix1", "myprefix2"], "kebab-case"],
Se criar um novo projeto usando Angular CLI, use esta opção de linha de comando
ng new project-name --prefix myprefix
ng generate component
mesmo após a atualizaçãotslint.json
:You are using different prefix from app, you might get lint errors. Please update "tslint.json" accordingly.
tive que atualizar aapps.prefix
propriedade.angular-cli.json
para me livrar desse aviso.tslint.json
pode ser encontrado um arquivo adicional<your-project>/src/tslint.json
que contém as regras do seletor de componentes e diretivas. Se você aplicou a correção acima e ela ainda não está funcionando, verifique se esse arquivo não está substituindo sua configuração global. ( github.com/mgechev/codelyzer/issues/620#issuecomment-394131604 )angular-cli.json
: "prefix": "defaultPrefix" para que o angular-cli use isso para gerar componentes.Ajust
tslint.json
assim:fonte
Na verdade, com o Angular Cli, você pode alterar a tag "prefix", dentro da matriz "apps" do seu
angular-cli.json
, localizada no aplicativo raiz.Alterando para "TheBestPrefix", assim.
Quando você gera um novo componente usando a CLI,
ng g component mycomponent
a tag component terá o seguinte nome"TheBestPrefix-mycomponent"
fonte
A
angular 6/7
partir de então, haverá uma pastatslint.json
dentro da sua/src
pasta que contém astslist
regras para seu componente e diretrizes.Alterar esse arquivo corrigirá o problema.
fonte
tslint.json
arquivo principal .directive-selector
eu adicionei,"directivePrefix"
que será o prefixo da diretiva e o mesmo para os componentes #Graças a @Aniruddha, apontando as mudanças no angular 7:
criar
tslint.json
emsrc/app/shared
estender aapp/tslint.json
:Uma coisa: se no app.component.spec você zombar de um componente do módulo compartilhado, ele reclamará que o seletor de zombaria começa com 'shared' em vez de começar com 'app'. Suponho que faça sentido - eu deveria estar criando minhas simulações no módulo de onde elas vieram.
fonte
tslint.json
"seletor de componentes": [true, "elemento", "app", "kebab-case"]
este 'kebab-case' força qualquer seletor de componente a estar com este '-' case.
por exemplo, você pode ter um seletor como ' app-test ', ' app-my ' assim.
E no que diz respeito ao seu erro, você deve iniciar o seletor de componentes com 'app', como acabei de mencionar no exemplo.
Não acho que você deva fazer alguma alteração no tslint.json, embora isso resolva o problema, mas não é uma boa prática alterar o tslint.
obrigado
fonte