2014-02-06 56 views
4

如何發佈軟件包資產?我發現這裏的教程:http://laravel-recipes.com/recipes/279Laravel 4:發佈軟件包的資產

但是,當我試圖從我的工作臺發佈的資產,我得到這個錯誤:

[RuntimeException]   
Unable to publish assets. 

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

我的命令代碼是:

php artisan asset:publish --bench=Mypackage 

哪有我得到我的包資產發佈。

謝謝。

+0

請問您的包定義必須在'/ assets'文件夾中的文件? – warspite

+0

我在工作臺目錄中找不到任何資產文件夾。是不是要從包中的公用文件夾發佈文件? – user1995781

回答

1

您可以使用Workbench來準備您自己的Laravel中使用的軟件包。

沒有爲在何處放置文件的目錄結構:

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

/公共< ----在這裏提問

在準備你的包,所有文件必須在文件夾可以從Web服務器訪問,如imgs/css/js文件(或assets,因爲它們通常在Web應用程序中調用)放在此處。

然後,當你輸入命令:

php artisan asset:publish --bench=Mypackage 

將部署這些文件到

/approot 
/public 
    /vendor/package/ 

更多的信息在這裏:http://laravel.com/docs/packages

3

我會給與Twitter的引導程序包的示例。

如果你想發佈您的資產的文件夾中的「公共/包」:

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

如果你想發佈您的資產的文件夾中的「公共/」:

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

當您想要發佈開發並存儲在工作臺中的資產,您應該使用--bench標誌。在你的情況下,你想要在供應商文件夾中發佈一個包,然後提供「myVendor/myPackage」。從供應商處包從一個工作臺包

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

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 –

+0

這就是答案!這不能讓它更清晰。 – sidneydobber

+0

正常情況下,當您回答某些問題時,很高興地說出問題的哪一部分(問題中)是錯誤的,或者問題的哪一部分,尤其是您正在糾正的部分。因此,在您的回答中,您可以簡要介紹一下爲什麼「vendor/package」是解決方案的主要技巧。 –

1

當我想複製Twitter的引導(SASS版)對我來說

php artisan asset:publish "vendor/package" 

出版資產

出版資產只有工作:

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

它將資產文件夾內容(3個目錄)複製到public/packages

當我沒有.在最後沒有消息,也沒有被複制。

當我在命令中省略assets目錄整個vendor\twbs\bootstrap-sass目錄中的內容複製到public目錄是什麼,當然不必要