Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在laravel包中提供资产路径?_Php_Laravel_Laravel 5_Package - Fatal编程技术网

Php 如何在laravel包中提供资产路径?

Php 如何在laravel包中提供资产路径?,php,laravel,laravel-5,package,Php,Laravel,Laravel 5,Package,我已经开发了laravel软件包。这里有一个视图示例 索引刀片 <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <!-- CSRF Token -->

我已经开发了laravel软件包。这里有一个视图示例

索引刀片


    <!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    
    <head>
        <meta charset="utf-8">
    
        <!-- CSRF Token -->
        <meta name="csrf-token" content="{{ csrf_token() }}">
    
        <title>{{ config('app.name', 'ColdxLogistics') }} - @yield('title')</title>
    
        <meta name="description" content="Login page example">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    
        <!--end::Layout Skins -->
        <link rel="shortcut icon" href="{{asset('media/logos/favicon.ico')}}" /> 
      
    </head>
    
    
    <!--begin::Page Scripts(used by this page) -->
    <script src="{{asset('js/pages/crud/forms/editors/tinymce.js')}}" type="text/javascript"></script>
    
    <script src="{{asset('js/main.js')}}" type="text/javascript"></script>
    
    
    @yield('scripts')
    
    
    </body>
    
    </html>


{{config('app.name','ColdxLogistics')}-@yield('title'))
@产量('脚本')
您可以在这里看到许多javascript和css文件。我想为我可以加载这些文件的包创建资产文件夹。像laravel一样有公共目录


我应该使用哪种方法?

如果没有链接到packages assets文件夹,则需要像中一样发布资产,然后使用
asset()
正常链接到它们

在软件包服务提供商中,您需要添加:

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    $this->publishes([
        __DIR__.'/path/to/assets' => public_path('vendor/yourpackagename'),
    ], 'public');
}

如果不链接到packages assets文件夹,则需要像中那样发布资产,然后使用
asset()
正常链接到它们

在软件包服务提供商中,您需要添加:

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    $this->publishes([
        __DIR__.'/path/to/assets' => public_path('vendor/yourpackagename'),
    ], 'public');
}

Laravel文档中有一节介绍了这一点

您所要做的就是像这样包含您的脚本:mix('style.css','vendor/your package name')


Laravel文档中有一节介绍了这一点

您所要做的就是像这样包含您的脚本:mix('style.css','vendor/your package name')



如果文件夹已经存在,该命令将执行什么操作?因为这些文件与我们的laravel项目中已经存在的js文件相同。但是,如果任何其他人将安装此软件包,他将没有此资产文件夹?如果资产对于软件包的运行至关重要,您需要将它们添加到软件包中,从项目中删除它们,然后让软件包为您发布它们。如果已经存在此文件夹,该命令将做什么?因为这些文件与我们的laravel项目中已经存在的js文件相同。但是,如果任何其他人将安装此软件包,他将不会拥有此资产文件夹?如果资产对于软件包的运行至关重要,则需要将它们添加到软件包中,从项目中删除它们,然后让软件包为您发布它们。