поставщик: публиковать, не публикуя библиотеки javascript

Я пытаюсь опубликовать это:

https://github.com/eternicode/bootstrap-datepicker/tree/1.3.0-rc.6

внутри папки с моими активами (общедоступной)

Раньше я мог:

php artisan asset:publish name/of/package

но теперь я вижу, что есть новая команда

php artisan vendor:publish

но как мне сказать, какие пакеты публиковать?

Я просто запускаю вышеуказанную функцию, она говорит publishing complete!, но, очевидно, ничего не было перемещено.

Любые идеи?


Я пытался:

php artisan vendor:publish --provider="vendor\eternicode\bootstrap-datepicker" .

который бросает "слишком много аргументов"

php artisan vendor:publish --provider="vendor\eternicode\bootstrap-datepicker"

который говорит об успехе, но на самом деле ничего не опубликовал в моей общей папке

php artisan vendor:publish --provider="eternicode/bootstrap-datepicker"

который говорит об успехе, но на самом деле ничего не опубликовал в моей общей папке


person Jimmyt1988    schedule 19.02.2015    source источник
comment
может быть, вы можете увидеть ответ в этом вопросе. здесь   -  person Maisur    schedule 16.07.2016


Ответы (2)


Вам необходимо добавить/изменить ServiceProvider вашего пакета.

Добавьте что-то вроде этого:

<?php namespace your_namespace;

use Illuminate\Support\ServiceProvider;

class YourServiceProvider extends ServiceProvider {

    // [...]

    /**
     * Bootstrap the application events.
     *
     * @return void
     */
    public function boot()
    {
        // [...]

        $this->publishes([
            __DIR__.'/assets' => public_path('vendor/your_package'),
        ], 'public');
    }

    // [...]
}

И не забудьте зарегистрировать вас ServiceProvider в config/app.php.

Новая команда Laravel 5 просто

php artisan vendor:publish --force
person algorhythm    schedule 17.03.2015

Вы можете попробовать что-то вроде этого:

php artisan asset:publish --path="vendor\twbs\bootstrap-sass\assets"  .

Это всего лишь пример того, как я публиковал активы Bootstrap Sass.

Обратите внимание на точку в конце команды - она ​​необходима - без нее она не работает как надо.

person Marcin Nabiałek    schedule 19.02.2015
comment
К сожалению, актив: публикация не существует в Laravel 5. Похоже, он был заменен на поставщик: публикация (пожимает плечами)... и это не поддерживает параметр --path. Есть вариант провайдера... Я добавил в OP - person Jimmyt1988; 20.02.2015