Laravel 4:发布包的资产

时间:2014-02-06 07:00:13

标签: php laravel-4

如何发布包资产?我在这里找到了一个教程:http://laravel-recipes.com/recipes/279

但是当我尝试从我的工作台发布资产时,我收到了这个错误:

[RuntimeException]         
 Unable to publish assets.  

asset:publish [--bench[="..."]] [--path[="..."]] [package]

我的命令代码是:

php artisan asset:publish --bench=Mypackage

如何才能发布我的资产包资产。

谢谢。

4 个答案:

答案 0 :(得分:6)

如果要发布在工作台中开发和存储的资产,则应使用--bench标志。在您的情况下,您想要在供应商文件夹中发布包,然后提供" myVendor / myPackage"。

从供应商包中发布资产

php artisan asset:publish "vendor/package"

从工作台包中发布资产

php artisan asset:publish --bench="vendor/package"

答案 1 :(得分:3)

我将以Twitter Bootstrap Package为例。

如果您要将资源发布在" public / packages" :

php artisan asset:publish --path="vendor/twitter/bootstrap/dist"

如果您要将资源发布在公共文件夹" public /" :

php artisan asset:publish --path="vendor/twitter/bootstrap/dist" "../"

答案 2 :(得分:1)

您可以使用Workbench准备自己的包,以便在Laravel中使用。

有一个目录结构可以放置文件:

/src
    /Vendor
        /Package
            PackageServiceProvider.php
    /config
    /lang
    /migrations
    /views
/tests

/ public< ----这里有问题的文件夹

准备包时,任何需要从Web服务器访问的文件,如imgs / css / js文件(或assets,因为它们通常在Web应用程序中调用)都放在此处。

然后输入命令:

php artisan asset:publish --bench=Mypackage

它会将这些文件部署到

/approot
/public
    /vendor/package/

此处有更多信息:http://laravel.com/docs/packages

答案 3 :(得分:1)

当我想复制Twitter Bootstrap(SASS版本)时,我只能工作:

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

它将资产文件夹内容(3个目录)复制到public/packages

当我最后没有.时,没有任何消息,也没有被复制。

当我在命令中省略assets目录时,整个vendor\twbs\bootstrap-sass目录内容被复制到public目录当然不必要