web-dev-qa-db-fra.com

Comment installer correctement la dernière version de Bootstrap dans mon application Web Laravel 5.4?

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?

6
user7540582

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!

2
Vaibhavraj Roham

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.

1
Abdou Tahiri

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,

0
Nawin