Je suis assez nouveau dans PHP et de plus dans Laravel et j'ai le problème suivant: je dois installer correctement la dernière version du framework CSS Bootstrap dans mon application Laravel.
Sur la page de téléchargement Bootstrap: http://getbootstrap.com/getting-started/#download
il dit que je peux le faire en utilisant composer par cette déclaration:
composer require twbs/bootstrap
J'ai donc essayé et j'ai obtenu cette sortie dans ma console:
Andrea@Andrea-PC MINGW64 /c/xampp/htdocs/HotelRegistration
$ composer require twbs/bootstrap
Using version ^3.3 for twbs/bootstrap
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing twbs/bootstrap (v3.3.7) Downloading: 100%
Package illuminate/html is abandoned, you should avoid using it. Use laravelcollective/html instead.
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
The compiled services file has been removed.
Que signifie exactement la sortie précédente? C'est réussi? Mon doute est que je ne trouve pas le fichier bootstrap.css dans le répertoire .../resources/assets de mon projet.
Pourquoi? Qu'est-ce que je rate? Comment puis-je utiliser Bootstrap dans mon projet?
EDIT 1: J'ai vu que Composer avait mis BootStrap dans ce dossier:
.../vendor/twbs/bootstrap/dist/css/bootstrap.css
Donc, en suivant ce lien SO: Comment configurer bootstrap après téléchargement via composeur?
J'ai essayé de faire:
php artisan asset:publish --path="vendor/twbs/dist/css" bootstrap/css
publier le contenu du vendeur/twbs/dist/css comme un atout, mais j'obtiens le message d'erreur suivant:
Andrea@Andrea-PC MINGW64 /c/xampp/htdocs/HotelRegistration
$ php artisan asset:publish --path="vendor/twbs/dist/css" bootstrap/css
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "asset" namespace.
Il semble donc que l'état asset n'existe pas.
Qu'est-ce que j'ai à faire?
Vous importez bootstrap de manière incorrecte. Laravel utilise principalement composer pour extraire des bibliothèques côté serveur. Bootstrap est essentiellement utilisé pour le frontal.
Laravel Par défaut fournit Bootstrap pour vous, voir ici .
Voici les étapes qui vous aideront.
Étape 1: Vérifiez que Node.js et NPM sont installés sur votre ordinateur.
node -v
npm -v
Si non installé ne vous inquiétez pas, voici le link .
Étape 2: (En considérant que vous avez installé node.js) Accédez au dossier racine du projet et exécutez la commande suivante.
npm install
cette commande téléchargera tous les pré-requis avec votre bootstrap.
Étape 3: compilez les fichiers JS requis.
npm run dev
Étape 4: Ajoutez le fichier js à votre application.
<script src="/js/app.js"></script> (Or it would be already imported)
C'est tout!
Vous pouvez trouver plus ici et ici
J'espère que ça vous aide!
Si j’étais vous, je ne ferais pas tout cela. Après une nouvelle installation de laravel 5.4 Twitter Bootstrap, vous avez juste besoin de charger vos dépendances avec npm.
Installez les dépendances npm:
npm install
Ensuite, la mise en œuvre de Bootstrap dans votre projet est maintenant simple. Ouvrez resources/assets/sass/app.scss et voyez cette ligne:
@import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
maintenant, pour compiler tous les fichiers sass bootstrap dans votre dossier public public/
, vous devez utiliser npm run dev
ou npm run production
si vous êtes dans un environnement de production.
alors vous avez tous les styles Bootstrap prêts à être utilisés. C’est littéralement tout ce qui est nécessaire.
Recherchez un dossier vendor/illuminate/html
ou vendor/laravelcollective/html
, par rapport à la racine du projet. Recherchez la chaîne illuminate/html
ou laravelcollective/html
à l'intérieur du composer.json ou composer.lock
Je suppose que vous avez déjà ce paquet en tant que compositeur ne dit rien à installer ou à mettre à jour.
Si le dossier composer.lock ou le fournisseur contient l'un des éléments strings/folders
, vous l'avez déjà installé et pouvez l'utiliser dans votre code.
Enregistrez le fournisseur de services dans config/app.php
en ajoutant la valeur suivante dans le tableau providers:
Collective\Html\HtmlServiceProvider::class
Enregistrez les façades en ajoutant ces deux lignes dans le tableau des alias:
'Form' => Collective\Html\FormFacade::class,
'Html' => Collective\Html\HtmlFacade::class,