web-dev-qa-db-fra.com

ng générer un composant uniquement en créant un fichier .ts

Je suis novice dans angular et j'ai récemment acheté un thème appelé Metronic. J'ai installé tous les éléments requis, y compris la dernière version CLI angulaire. Lorsque j'exécute la commande générer un composant test, il crée un dossier de test mais uniquement un fichier test.ts sans html ni css. 

Dans tous les exemples que j'ai vus, cette commande créera toujours html, css, ts ... je ne comprends donc pas pourquoi elle ne ferait que créer le fichier ts pour moi?

Toute aide appréciée, merci

5

En guise de solution de contournement: Pouvez-vous essayer de générer à nouveau un composant avec "ng generer le composant test2 --inline-style = false --inline-template = false"? Ce devrait être la valeur par défaut, mais dans votre scénario, il semblerait qu'une configuration ait été modifiée.

Réglages selon Wiki

En guise de solution à long terme, consultez La réponse de David.

3
maerlin

Dans angular6 Dans le fichier angular.json, vous devez modifier "@ schematics/angular: composant {}".

faire: "inlineStyle": false, "inlineTemplate": false,

devrait ressembler à ceci:

"@schematics/angular:component": {
      "spec": false,
      "inlineStyle": false,
      "inlineTemplate": false,
      "prefix": "app",
      "styleext": "css"
    },

cela créera vos trois fichiers (html, ts et css)

8
Shailesh kala

Plus que probablement, le thème Metronic a modifié sa configuration Angular/Cli pour ne générer que la classe de composants. Vous pouvez changer cela en allant dans le dossier node_modules puis en accédant à @angular, puis à lib, puis à cli, puis enfin à config> schema.json. Ce fichier contient toutes les commandes exécutées avec ng generate. Par exemple, si vous recherchez "composant" :, vous verrez les différentes choses générées telles que flat, spec, style inline, etc. (la valeur par défaut détermine si cela est effectué ou non par défaut. Si vous rencontrez des problèmes, un moyen facile de le résoudre consiste à créer un nouveau projet angulaire, puis à copier les paramètres par défaut de schema.json et à les coller dans ce fichier.

0

Dans le fichier angular.json, vous devez changer

"schematics": {
    "@schematics/angular:component": {
      "inlineTemplate": false
    }
  },

Je suis confronté au même problème. Cela fonctionne pour moi.

0
subhashis