Sie müssen zwei Dateien tslint.json und .angular-cli.json ändern. Angenommen, Sie möchten zu myprefix wechseln :
Ändern Sie in der Datei tslint.json einfach die folgenden 2 Attribute:
"directive-selector": [true, "attribute", "app", "camelCase"],
"component-selector": [true, "element", "app", "kebab-case"],
ändere "app" in "myprefix"
"directive-selector": [true, "attribute", "myprefix", "camelCase"],
"component-selector": [true, "element", "myprefix", "kebab-case"],
Ändern Sie in der Datei angle.json einfach das Attributpräfix:
(Bei einer Winkelversion unter 6 lautet der Dateiname .angular-cli.json.)
"app": [
...
"prefix": "app",
...
ändere "app" in "myprefix"
"app": [
...
"prefix": "myprefix",
...
Wenn Sie in dem Fall mehr als ein Präfix benötigen, wie @Salil Junior hervorhebt :
"component-selector": [true, "element", ["myprefix1", "myprefix2"], "kebab-case"],
Wenn Sie ein neues Projekt mit Angular CLI erstellen, verwenden Sie diese Befehlszeilenoption
ng new project-name --prefix myprefix
ng generate component
auch nach dem Update eine Warnung erhaltentslint.json
:You are using different prefix from app, you might get lint errors. Please update "tslint.json" accordingly.
Ich musste dieapps.prefix
Eigenschaft aktualisieren.angular-cli.json
, um diese Warnung zu entfernen.tslint.json
Datei enthalten ist, die<your-project>/src/tslint.json
die Auswahlregeln für Komponenten und Direktiven enthält. Wenn Sie das obige Update angewendet haben und es für Sie immer noch nicht funktioniert, stellen Sie sicher, dass diese Datei Ihre globale Konfiguration nicht außer Kraft setzt. ( github.com/mgechev/codelyzer/issues/620#issuecomment-394131604 )angular-cli.json
: "Präfix": "defaultPrefix" so an, dass angle-cli dies zum Generieren von Komponenten verwendet.Genau
tslint.json
so:quelle
Tatsächlich können Sie mit Angular Cli einfach das "Präfix" -Tag innerhalb des "Apps" -Arrays auf Ihrem
angular-cli.json
in der Root-App befindlichen Array ändern .So ändern Sie sich für "TheBestPrefix".
Wenn Sie eine neue Komponente mithilfe der CLI generieren, hat
ng g component mycomponent
das Komponenten-Tag den folgenden Namen"TheBestPrefix-mycomponent"
quelle
Für
angular 6/7
weiter wird es sein ,tslint.json
in Ihrem/src
Ordner, die hälttslist
Regeln für die Komponente und Richtlinien.Durch Ändern dieser Datei wird das Problem behoben.
quelle
tslint.json
wird.directive-selector
mir hinzugefügte sehen,"directivePrefix"
das Präfix für Direktive und dasselbe für Komponenten sein wirdDank an @Aniruddha, der auf die Änderungen in Winkel 7 hinweist:
Erstellen Sie
tslint.json
insrc/app/shared
, um Folgendes zu erweiternapp/tslint.json
:Eine Sache - Wenn Sie in app.component.spec eine Komponente aus einem freigegebenen Modul verspotten, wird beanstandet, dass Ihre Verspottungsauswahl mit "freigegeben" beginnt, anstatt mit "App" zu beginnen. Ich nehme an, das macht Sinn - ich sollte meine Mocks im Modul erstellen, von wo sie kamen.
quelle
tslint.json
"Komponentenauswahl": [true, "element", "app", "kebab-case"]
Dieser 'Kebab-Fall' zwingt jeden Komponenten-Selektor, mit diesem '-' Fall zu arbeiten.
Zum Beispiel können Sie einen Selektor wie ' App-Test ', ' App-My ' wie diesen haben.
Und was Ihren Fehler betrifft, müssen Sie die Komponentenauswahl mit 'app' starten, wie ich gerade im Beispiel erwähnt habe.
Ich denke nicht, dass Sie Änderungen an tslint.json vornehmen sollten, obwohl dies Ihr Problem lösen würde, aber es ist keine gute Praxis, tslint zu ändern.
Vielen Dank
quelle