簡體   English   中英

Laravel 在包中使用包

[英]Laravel use package in package

我正在 Laravel 5.5 中開發一個包,我需要這個包:

https://github.com/laracasts/PHP-Vars-To-Js-Transformer

問題是它由於某種原因沒有注冊。 當我在JavaScriptServiceProvider.php dd 時沒有任何反應。 當我使用Javascript門面時,我收到一個錯誤,說它不存在?!

我的包composer.json文件:

"require": {
        "php" : "^7.0",
        "illuminate/support": "~5.5.0",
        "laracasts/utilities": "^3.0"
    },

我使用 Laravel 5.5,所以它應該默認注冊(來自 laracasts 包的 composer.json):

"extra": {
        "laravel": {
            "providers": [
                "Laracasts\\Utilities\\JavaScript\\JavaScriptServiceProvider"
            ],
            "aliases": {
                "JavaScript": "Laracasts\\Utilities\\JavaScript\\JavaScriptFacade"
            }
        }
    }

我在這里做錯了什么?

我在自己的包中使用不同的其他包時遇到了同樣的問題。

以下是對我有用的步驟:

  1. 在你自己的包中添加需要的包作為依賴:

     作曲家需要 laracasts/實用程序
  2. 在 Laravel 項目中更新你的包(例如通過增加版本號或刪除你的包並重新安裝它。

      composer update # 在 Laravel 主項目中
  3. 然后你應該看到,在主要的 Laravel 項目中有你自己的包的自動發現和對 laracasts/實用程序的依賴。

如果這對您有幫助,或者我可以提供更多幫助,請告訴我。

您需要按照以下步驟來解決此問題:

  1. 在包目錄中運行命令:

    composer require laracasts/utilities

  2. 現在,只要您想使用此依賴項,就在您的包中(在文件頂部)使用它:

    use Laracasts\\Utilities\\JavaScript\\yourClassName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM