Je suis nouveau sur Angular et je viens de la communauté Ember. Essayer d'utiliser la nouvelle Angular-CLI basée sur Ember-CLI.
J'ai besoin de connaître la meilleure façon de gérer SASS dans un nouveau projet Angular. J'ai essayé d'utiliser le ember-cli-sass
dépôt pour voir s'il fonctionnerait, car un certain nombre de composants principaux de l'Angular-CLI sont exécutés à partir de modules Ember-CLI.
Cela n'a pas fonctionné, mais je ne sais pas si je viens de mal configurer quelque chose.
De plus, quelle est la meilleure façon d'organiser les styles dans un nouveau projet Angular? Ce serait bien d'avoir le fichier sass dans le même dossier que le composant.
angular
sass
angular-cli
JDillon522
la source
la source
Réponses:
Autres solutions et explications possibles:
Pour créer un nouveau projet avec une CLI angulaire avec prise en charge SASS, essayez ceci:
Vous pouvez également utiliser
--style=sass
& si vous ne connaissez pas la différence, lisez ce court article facile et si vous ne savez toujours pas, continuezscss
et continuez à apprendre.Si vous avez un projet angulaire 5, utilisez cette commande pour mettre à jour la configuration de votre projet.
Pour les dernières versions
Pour Angular 6 pour définir un nouveau style sur un projet existant avec CLI:
Ou directement dans angular.json:
la source
ng set defaults.styleExt scss
style
propriétéscss
en.angular-cli.json
ng set defaults.styleExt scss --global
ng config schematics.@schematics/angular:component.styleext scss
Mise à jour pour Angular 6+
De nouveaux projets
Lors de la génération d'un nouveau projet avec Angular CLI, spécifiez le pré-processeur css comme
Utiliser la syntaxe SCSS
Utiliser la syntaxe SASS
Mise à jour du projet existant
Définissez le style par défaut sur un projet existant en exécutant
Utiliser la syntaxe SCSS
Utiliser la syntaxe SASS
La commande ci-dessus mettra à jour votre fichier d'espace de travail (angular.json) avec
où
styleext
peut être soitscss
ousass
selon le choix.Réponse originale (pour angulaire <6)
De nouveaux projets
Pour les nouveaux projets, nous pouvons définir les options
--style=sass
ou--style=scss
selon la saveur souhaitée SASS / SCSSUtiliser la syntaxe SASS
Utiliser la syntaxe SCSS
puis installez
node-sass
,Mise à jour des projets existants
Pour faire
angular-cli
pour compiler des fichiers sass avecnode-sass
, j'ai dû exécuter,qui installe
node-sass
. ensuitepour la syntaxe SASS
pour la syntaxe SCSS
pour définir le style par défaut Ext à sass
(ou)
changer
styleExt
àsass
ouscss
pour la syntaxe désirée.angular-cli.json
,pour la syntaxe SASS
pour la syntaxe SCSS
Bien qu'il ait généré des erreurs de compilation.
qui a été corrigé en changeant les lignes de
.angular-cli.json
,soit,
pour la syntaxe SASS
pour la syntaxe SCSS
la source
angular-cli.json
fait.angular-cli.json
. Une fois que j'ai réalisé cela, je l'ai édité et cela fonctionne parfaitement. Je vous remercie.angular-cli.json
été changé en fichier caché (.angular-cli.json
) récemment (rc2). Fixé..css
fichier existant , vous devrez peut-être le fermer et le rouvrir dans votre éditeur pour qu'il reconnaisse correctement la syntaxe sass. Cela est vrai même avec la dernière version de Visual Studio,Cité par les officiels github repo ici -
Vois ici
la source
Dites à angular-cli de toujours utiliser scss par défaut
Pour éviter de passer
--style scss
chaque fois que vous générez un projet, vous souhaiterez peut-être ajuster votre configuration par défaut d'angular-cli globalement, avec la commande suivante:Veuillez noter que certaines versions d'angular-cli contiennent un bug avec la lecture du drapeau global ci-dessus ( voir lien ). Si votre version contient ce bug, générez votre projet avec:
la source
--style=scss
Comme Mertcan l'a dit, la meilleure façon d'utiliser scss est de créer le projet avec cette option:
Angular-cli ajoute également une option pour modifier le préprocesseur css par défaut après la création du projet à l'aide de la commande:
Pour plus d'informations, vous pouvez consulter ici leur documentation:
https://github.com/angular/angular-cli
la source
ng set
ne semble pas fonctionner sur les paramètres de laapps
baie. Par exemple.ng set apps.prefix blah
lance un "jeton inattendu b en JSON à la position 0".J'ai remarqué un problème très gênant lors du passage aux fichiers scss !!! Il faut passer d'un simple:
styleUrls: ['app.component.scss']
àstyleUrls: ['./app.component.scss']
(ajouter./
) dansapp.component.ts
Ce que fait lorsque vous générez un nouveau projet, mais apparemment pas lorsque le projet par défaut est créé. Si vous voyez résoudre les erreurs lors de la génération de ng, recherchez ce problème. Cela ne m'a pris que 1 heure environ.
la source
Le mieux pourrait être
ng new myApp --style=scss
Ensuite, la CLI angulaire créera pour vous tout nouveau composant avec scss ...
Notez que l'utilisation
scss
ne fonctionne pas dans le navigateur comme vous le savez probablement .. nous avons donc besoin de quelque chose pour le compilercss
, pour cette raison nous pouvons l'utilisernode-sass
, l'installer comme ci-dessous:et vous devriez être prêt à partir!
Si vous utilisez webpack, lisez la suite ici:
du démarreur angulaire ici .
la source
ng set --global defaults.styleExt=scss
est obsolète depuis ng6. Vous obtiendrez ce message:Tu devrais utiliser:
Si vous souhaitez cibler un projet spécifique (remplacez {project} par le nom de votre projet):
la source
Angular-CLI est la méthode recommandée et est la norme dans la communauté Angular 2+.
Crète un nouveau projet avec SCSS
ng new My-New-Project --style=sass
Convertir un projet existant (CLI moins que v6)
ng set defaults.styleExt scss
(doit renommer tous les fichiers .css manuellement avec cette approche, n'oubliez pas de renommer dans vos fichiers composants)
Convertir un projet existant (CLI supérieure à v6)
"@schematics/angular:component": { "styleext": "sass" }
la source
Pour Angular 9.0 et supérieur, mettez à jour l'
"schematics":{}
objet dans le fichier angular.json comme ceci:la source
style
maintenantLes éléments suivants doivent fonctionner dans un projet CLI 6 angulaire. C'est-à-dire si vous obtenez:
Ensuite ( en vous assurant de changer le nom du projet )
Pour obtenir le nom de votre projet par défaut, utilisez:
Cependant: si vous avez migré votre projet de <6 vers angular 6, il y a de fortes chances que la configuration ne soit pas là. Dans ce cas, vous pourriez obtenir:
Une édition manuelle de
angular.json
sera donc nécessaire.Vous voudrez qu'il ressemble à ceci (en prenant note de la propriété styleex):
Cela me semble être un schéma trop complexe. ¯_ (ツ) _ / ¯
Vous devrez maintenant changer tous vos fichiers css / less pour qu'ils soient scss et mettre à jour toutes les références dans les composants, etc., mais vous devriez être prêt à partir.
la source
Le 3/10/2019, Anguar a abandonné le soutien de sass. Peu importe l'option à
--style
laquelle vous avez passé lors de l'exécutionng new
, vous obtenez toujours des.scss
fichiers générés. C'est dommage que le soutien de Sass ait été abandonné sans aucune explication.la source
npm install -g @angular/[email protected]
Définissez-le comme valeur par défaut globale
ng set defaults.styleExt=scss --global
la source
Intégration du préprocesseur CSS La CLI angulaire prend en charge tous les principaux préprocesseurs CSS:
Pour utiliser ces préprocesseurs, ajoutez simplement le fichier aux styleUrls de votre composant:
Lors de la génération d'un nouveau projet, vous pouvez également définir l'extension que vous souhaitez pour les fichiers de style:
Ou définissez le style par défaut sur un projet existant:
note: @ schematics / angular est le schéma par défaut pour la CLI angulaire
Les chaînes de style ajoutées au tableau @ Component.styles doivent être écrites en CSS car la CLI ne peut pas appliquer un pré-processeur aux styles en ligne.
Basé sur la documentation angulaire https://github.com/angular/angular-cli/wiki/stories-css-preprocessors
la source
J'ai essayé de mettre à jour mon projet pour utiliser le sass en utilisant cette commande
mais j'ai compris
J'ai donc supprimé mon projet (car je commençais à peine et je n'avais pas de code dans mon projet) et j'en ai créé un nouveau avec sass initialement défini
Mais j'apprécierais que quelqu'un puisse partager un moyen de mettre à jour le projet existant car ce serait bien.
la source
Étape 1. Installer le package bulma à l'aide de npm
Étape 2. Ouvrez angular.json et mettez à jour le code suivant
C'est tout.
Pour exposer facilement les outils de Bulma, ajoutez stylePreprocessorOptions à angular.json.
BULMA + ANGULAIRE 6
la source