【问题标题】:vendor:publish not publishing the javascript libraries供应商:发布不发布 javascript 库
【发布时间】:2015-04-21 02:43:15
【问题描述】:

我正在尝试发布:

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"

表示成功,但实际上并未将任何内容发布到我的公用文件夹

【问题讨论】:

  • 也许你可以在这个问题中看到答案。 here

标签: javascript laravel-5 vendor laravel-artisan


【解决方案1】:

您需要添加/更改您的包的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');
    }

    // [...]
}

别忘了在config/app.php 中注册ServiceProvider。

新的Laravel 5 命令只是

php artisan vendor:publish --force

【讨论】:

    【解决方案2】:

    你可以试试这样的:

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

    这只是我如何发布 Bootstrap Sass 资产的示例。

    注意命令末尾的点 - 这是必要的 - 没有它就无法正常工作。

    【讨论】:

    • 不幸的是,asset:publish 在 Laravel 5 中不存在。看起来它已被 vendor:publish (耸耸肩) 取代......而且这不支持 --path 选项。有一个“提供者”选项...我已添加到 OP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2019-07-17
    • 2019-01-25
    • 2016-05-12
    • 2022-01-25
    • 2015-09-07
    • 1970-01-01
    相关资源
    最近更新 更多