J'ai utilisé ce tutoriel pour intégrer bootstrap dans mon projet:
https://laravel-news.com/2015/10/setup-bootstrap-sass-with-laravel-elixir/
Cela place un fichier app.css dans le dossier css . Cependant, si j'essaie d'utiliser des glyphicons, ils ne s'affichent pas . J'ai donc essayé de modifier le fichier elixir comme suit:
elixir(function(mix) {
mix.sass('app.scss')
.browserify('app.js')
.copy('node_modules/bootstrap-sass/assets/fonts', 'public/css/fonts')
});
Le dossier des polices est copié sous public/css/fonts mais aucune icône ne s'affiche. Qu'est-ce que j'oublie ici? Un indice?
dans mon app.css le chemin semble correct, par exemple:
src: url("fonts/bootstrap/glyphicons-halflings-regular.eot");
J'ai eu le même problème avec la nouvelle installation de Laravel 5.2. Ce que j’ai fait, c’est juste inspecté le chemin de requête dans le navigateur qui était:
../build/fonts/bootstrap/glyphicons-halflings-regular.woff2
donc je viens d'ajouter à gulp.js ceci:
mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/','public/build/fonts/bootstrap');
et ensuite dans le terminal:
gulp
Cela a fait le tour pour moi!
Vous devriez dans votre app.scss
avant y compris le fichier bootstrap définir la variable $icon-font-path
correctement, probablement dans votre cas, il devrait être:
$icon-font-path: '/css/fonts/';
C'est ce qui a fonctionné pour moi dans Laravel 5.3 sous Windows
Assurez-vous d'abord que vous utilisez la dernière version du paquet NodeJS (v6.7.0).
Cliquez sur l'onglet "Dernières fonctionnalités actuelles" à l'adresse URL https://nodejs.org/en/download/current/
Exécuter npm install
Modifiez le fichier gulpfile.js
pour contenir les éléments suivants:
elixir(mix => {
mix.sass('app.scss')
.webpack('app.js');
mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/','public/fonts/bootstrap');
});
Run avale:
gulp
C'est tout.
Dans Laravel 5.4, installez simplement les dépendances npm et exécutez npm en production ou en développement selon vos besoins.
npm install
npm run production
Laravel fera le reste.
Dans Laravel 5.4, ce que j'ai fait est
mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/', 'public/fonts/bootstrap');
Et dans resources/assets/sass/_variables.scss
ou app.scss
$icon-font-path: '/fonts/bootstrap/';
Laravel 5.3 enlever la construction
mix.copy('node_modules/bootstrap-sass/assets/fonts/bootstrap/', 'public/fonts/bootstrap');
courir à avaler
J'ai eu le même problème avec Laravel 5.4. Il s’avère que je n’ai pas exécuté npm install
et npm run dev
.
Une fois que ces deux commandes ont été exécutées, les polices (et les glyphicons) ont été copiés correctement dans le répertoire/public. Il n'était pas nécessaire de modifier les fichiers Sass ou Build.
Dans le fichier webpack.config.js:
publicPath: '../'
Au lieu de Mix.resourceRoot
Si vous utilisez elixir () helper dans vos modèles de lame, vous devez placer vos fichiers de polices dans/public/build. En tant que résultat/public/build/fonts, le dossier "fonts" contient tous les fichiers de polices.