J'ai essayé d'installer Font Awesome en utilisant Laravel Mix, mais lors de l'exécution de run npm dev
, le message suivant s'affiche:
ERREUR Echec de la compilation avec 1 erreur
erreur dans ./~/font-awesome/scss/font-awesome.scss La construction du module a échoué:/** ^ CSS non valide après "... charger les styles": 1 sélecteur ou règle at attendu, était "var content = requi" dans /var/www/html/blog/node_modules/font-awesome/scss/font-awesome.scss (ligne 1, colonne 1)
J'ai supprimé les commentaires du fichier et essayé de modifier le chemin des polices, mais cela n'a pas résolu le problème.
webpack.mix.js
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.copy('node_modules/font-awesome/fonts/', 'public/fonts')
.sass('node_modules/font-awesome/scss/font-awesome.scss', 'public/css')
.version();
fontawesome.scss
@import "variables";
@import "mixins";
@import "path";
@import "core";
@import "larger";
@import "fixed-width";
@import "list";
@import "bordered-pulled";
@import "animated";
@import "rotated-flipped";
@import "stacked";
@import "icons";
@import "screen-reader";
_ variable.scss
// Variables
// --------------------------
$fa-font-path: "../fonts" !default;
$fa-font-size-base: 14px !default;
$fa-line-height-base: 1 !default;
// $fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
$fa-css-prefix: fa !default;
$fa-version: "4.7.0" !default;
$fa-border-color: #eee !default;
$fa-inverse: #fff !default;
$fa-li-width: (30em / 14) !default;
// Continue...
Pour installer font-awesome, vous devez d’abord l’installer avec npm. Donc, dans le répertoire racine de votre projet, tapez:
npm install font-awesome --save
(Bien entendu, je suppose que node.js et npm sont déjà installés. Et vous avez déjà utilisé npm install
dans le répertoire racine de votre projet)
Puis éditez le fichier resources/assets/sass/app.scss
et ajoutez en haut cette ligne:
@import "node_modules/font-awesome/scss/font-awesome.scss";
Maintenant vous pouvez faire par exemple:
npm run dev
Cela crée des versions non terminées des ressources dans les dossiers appropriés. Si vous vouliez les réduire, exécutez-vous à la place:
npm run production
Et puis vous pouvez utiliser la police.
Pour Police Awesome 5 (webfont avec css) et Laravel mixin ajouter un package pour la police awesome 5
_npm i --save @fortawesome/fontawesome-free
_
Et importer police awesome scss dans app.scss ou votre fichier scss personnalisé
_@import '~@fortawesome/fontawesome-free/scss/brands';
@import '~@fortawesome/fontawesome-free/scss/regular';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
_
compiler vos actifs npm run dev
ou npm run production
et inclure votre css compilé dans la mise en page
Comment faire pour installer la police Awesome 5 dans Laravel 5.6 (la bonne manière)
Construisez votre configuration webpack.mix.js.
mix.js('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css');
Installez la dernière version gratuite de Font Awesome via un gestionnaire de paquets tel que npm.
npm install @fortawesome/fontawesome-free
Cette entrée de dépendance devrait maintenant figurer dans votre package.json.
// Font Awesome
"dependencies": {
"@fortawesome/fontawesome-free": "^5.10.2",
Dans votre fichier SCSS principal /resources/sass/app.scss, importez un ou plusieurs styles.
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import '~@fortawesome/fontawesome-free/scss/regular';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/brands';
Compilez vos actifs et produisez une version réduite, prête pour la production.
npm run production
Enfin, référencez votre fichier CSS généré dans votre modèle/mise en page de lame.
<link type="text/css" rel="stylesheet" href="{{ mix('css/app.css') }}">
Ceci est destiné aux nouveaux utilisateurs qui utilisent Laravel 5.7 et Fontawesome 5.
npm install @fortawesome/fontawesome-free --save
et dans app.scss
@import '~@fortawesome/fontawesome-free/css/all.min.css';
Courir
npm run watch
Utiliser dans la mise en page
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
npm install font-awesome --save
@import "~font-awesome/scss/font-awesome.scss";
dans resources/assets/saas/app.scss
npm run dev
(ou npm run watch
ou même npm run production
)le chemin que vous utilisez n'est pas correct, vous pouvez simplement ouvrir le nœud_module et trouver le chemin de font-awesome. use pourrait utiliser la police js ou svg mais je préfère le style css.
utilisez d'abord cette commande pour installer font-awesome-free npm install --save-dev @fortawesome/fontawesome-free
après ça tu peux faire ça
@import "~@fortawesome/fontawesome-free/scss/fontawesome";
@import "~@fortawesome/fontawesome-free/scss/regular";
@import "~@fortawesome/fontawesome-free/scss/solid";
@import "~@fortawesome/fontawesome-free/scss/brands";
et je copie le chemin de la police comme ci-dessous c'est facultatif
.copy('node_modules/@fortawesome/fontawesome-free/webfonts', 'public/fonts');
et enfin, lancez le script npm run dev
ou npm run watch
dans laravel
J'ai récemment écrit un blog à ce sujet pour le Laravel5.6. Le lien vers le blog est https://www.samundra.com.np/integrating-font-awesome-with-laravel-5.x-using-webpack/1574
Les étapes sont similaires à la description ci-dessus. Mais dans mon cas, je devais effectuer des étapes supplémentaires, telles que la configuration du chemin d'accès aux polices Web à font-awesome dans le répertoire "public". Définition de la racine de la ressource dans Laravel mix etc. Vous pouvez trouver les détails dans le blog.
Je laisse le lien ici pour aider les personnes pour qui les solutions mentionnées ne fonctionnent pas.
npm install font-awesome --save
ajouter le chemin ~/avant
@import "~/font-awesome/scss/font-awesome.scss";
J'utilise Laravel 5.5.14 et rien de ce qui précède n'a fonctionné pour moi. Alors voici les étapes que j'ai faites pour le faire fonctionner.
1. Installez font-awesome en utilisant npm:
npm install font-awesome --save
2.Déplacez les polices dans votre répertoire public en ajoutant cette ligne dans votre webpack.mixin.js
mix.copyDirectory('node_modules/font-awesome/fonts', 'public/fonts/font-awesome');
3.Ouvrez votre application.scss pour spécifier le chemin des polices dans votre node_modules et quel chemin relatif utiliser pour la compilation:
$fa-font-path: "../fonts/font-awesome" !default;
@import "~font-awesome/scss/font-awesome.scss";