Vous devez modifier deux fichiers tslint.json et .angular-cli.json, supposons que vous vouliez changer en mon préfixe :
Dans le fichier tslint.json, modifiez simplement les 2 attributs suivants:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
changer "app" en "myprefix"
"directive-selector": [true, "attribute", "myprefix", "camelCase"],
"component-selector": [true, "element", "myprefix", "kebab-case"],
Dans le fichier angular.json, modifiez simplement le préfixe de l'attribut:
(Pour la version angulaire inférieure à 6, le nom du fichier est .angular-cli.json)
"app": [
...
"prefix": "app",
...
changer "app" en "myprefix"
"app": [
...
"prefix": "myprefix",
...
Si dans le cas vous avez besoin de plus d'un préfixe comme @Salil Junior, faites-le remarquer:
"component-selector": [true, "element", ["myprefix1", "myprefix2"], "kebab-case"],
Si vous créez un nouveau projet en utilisant Angular cli, utilisez cette option de ligne de commande
ng new project-name --prefix myprefix
ng generate component
même après la mise à jourtslint.json
:You are using different prefix from app, you might get lint errors. Please update "tslint.json" accordingly.
j'ai dû mettre à jour laapps.prefix
propriété.angular-cli.json
pour me débarrasser de cet avertissement.tslint.json
fichier supplémentaire peut être trouvé dans<your-project>/src/tslint.json
lequel contient les règles de sélection de composant et de directive. Si vous avez appliqué le correctif ci-dessus et que cela ne fonctionne toujours pas pour vous, assurez-vous de vérifier que ce fichier ne remplace pas votre configuration globale. ( github.com/mgechev/codelyzer/issues/620#issuecomment-394131604 )angular-cli.json
: "prefix": "defaultPrefix" afin qu'angular-cli l'utilise pour générer des composants.Juste
tslint.json
comme ça:la source
En fait, avec Angular Cli, vous pouvez simplement changer la balise "prefix", dans le tableau "apps" sur votre
angular-cli.json
, situé sur l'application racine.Changer pour "TheBestPrefix", comme ceci.
Lorsque vous générez un nouveau composant à l'aide de la CLI,
ng g component mycomponent
la balise de composant aura le nom suivant"TheBestPrefix-mycomponent"
la source
Pour les
angular 6/7
versions ultérieures , il y aura un à l'tslint.json
intérieur de votre/src
dossier contenant lestslist
règles de votre composant et des directives.La modification de ce fichier résoudra le problème.
la source
tslint.json
fichier principal .directive-selector
j'ai ajouté"directivePrefix"
qui sera le préfixe pour la directive et même pour les composantsMerci à @Aniruddha en soulignant les changements de angulaire 7:
créer
tslint.json
danssrc/app/shared
de prolonger leapp/tslint.json
:Une chose - Si dans app.component.spec vous vous moquez d'un composant d'un module partagé, il se plaindra que votre sélecteur de simulation commence par «shared» au lieu de commencer par «app». Je suppose que cela a du sens - je devrais créer mes simulacres dans le module d'où ils viennent.
la source
tslint.json
"component-selector": [true, "element", "app", "kebab-case"]
ce 'kebab-case' force tout sélecteur de composant à être avec ce cas '-'.
par exemple, vous pouvez avoir un sélecteur comme ' app-test ', ' app-my ' comme ceci.
Et en ce qui concerne votre erreur, vous devez démarrer le sélecteur de composants avec 'app' comme je viens de le mentionner dans l'exemple.
Je ne pense pas que vous devriez apporter des modifications à tslint.json, même si cela résoudrait votre problème, mais ce n'est pas une bonne pratique de modifier tslint.
Merci
la source