ton*_*rmc 13 php twitter-bootstrap laravel-5
我正在使用Laravel 5,我想将twitter bootstrap CSS和JS发布到公共目录.我确实使用了Composer来获取twitter/bootstrap包,那部分没问题,所以我想要的文件现在在vendor/twitter/bootstrap/dist中
但我无法让它发挥作用.我得到'没什么可发表的.' 我每次尝试都会留言
以下是我采取的步骤:
使用工匠生成类: php artisan make:provider BootstrapServiceProvider
编辑boot()该类中的方法
在config/app.php中注册服务提供商
providers => [
...
'App\Providers\BootstrapServiceProvider',
],
Bellow是我生成的文件及其编辑boot()方法.
BootstrapServiceProvider.php
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class BootstrapServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
* Move twitter bootstrap CSS and JS into public directory
*
* @return void
*/
public function boot()
{
$this->publishes([
__DIR__ . 'vendor/twitter/bootstrap/dist' => public_path('vendor/bootstrap'),
], 'public');
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了:
php artisan vendor:publish --tag=public
php artisan vendor:publish --tag=public --force
php artisan vendor:publish
php artisan vendor:publish --force
Run Code Online (Sandbox Code Playgroud)
并尝试'public'从boot()方法中删除第二个参数.
每次我都没有发布任何东西..
boot()方法甚至没有被调用.我需要做些什么才能让它发挥作用?
也许在register()方法中添加一些东西?现在只是空的.
或者其他一些步骤?
回答我自己的问题.
从5.0.26到5.0.25重新安装Laravel之后一切正常.
即使再次更新到5.0.26及更高版本,它仍然有效.
我不知道为什么它在作曲家更新之前不起作用.
其他所有内容与上述相同,但boot()必须修改方法以在调用时指向正确的供应商路径publishes().
修正版boot():
public function boot()
{
$this->publishes([
__DIR__ . '/../../vendor/twitter/bootstrap/dist' => public_path('vendor/bootstrap'),
], 'public');
}
Run Code Online (Sandbox Code Playgroud)
要自动执行此操作,请scripts:在"post-install-cmd"和"post-update-cmd"下的部分中的composer.json中添加此条目:
"scripts": {
"post-install-cmd": [
"...",
"php artisan vendor:publish --tag=public --force"
],
"post-update-cmd": [
"...",
"php artisan vendor:publish --tag=public --force"
],
},
Run Code Online (Sandbox Code Playgroud)
小智 6
如何使用 composer 在 Laravel 中安装 Bootstrap
虽然这个问题发布已经一年了,但我相信我的回答会帮助那里的人。这对我来说非常有效。
我正在使用 Laravel Framework 版本 5.2.31(php artisan --version检查您的 Laravel 版本)。请按照以下步骤操作:
composer require twbs/bootstrap 3.3.6。如果您想要与 3.3.6 不同的版本,请查看https://packagist.org/packages/twbs/bootstrap上的最新分发版本。php artisan make:provider BootstrapServiceProvider在app/Providers/BootstrapServiceProvider.php. 编辑boot()方法如下:
public function boot()
{
$this->publishes([base_path('vendor/twbs/bootstrap/dist') => public_path('vendor/bootstrap')],'public');
}
上面的代码将指示artisan将目录复制vendor/twbs/bootstrap/dist到public/vendor/bootstrap.
在 config/app.php 中注册服务提供者,在Application Service ProvidersDealerPortal\Providers\BootstrapServiceProvider::class,列表下方添加
运行vendor:publish --tag=public --force以完成此任务。
奖励步骤:
如果你想自动发布引导所有附加的过程php artisan vendor:publish --tag=public --force来post-install-cmd和post-update-cmd你的部分composer.json文件。