将资产包含在包的刀片视图中 - Laravel

时间:2017-05-10 11:40:37

标签: laravel blade laravel-5.4

我正在使用Laravel 5.4创建一个包。我需要在刀片模板中包含一些资产(js,CSS和图像)。我怎样才能做到这一点?

我已经尝试过asset(),但它无效。

这是我的包的文件夹结构:

root
  --package
     -- vendor_name
        -- package_name
           -- src
              -- assets
                 -- js
                    -- login.js
                 --css
                    -- login.css
              -- views
                 -- login.blade.php  

如果没有将它们发布到公共文件夹中,是否可能?

由于

2 个答案:

答案 0 :(得分:1)

在Laravel 5.4中你可以使用混合功能,如果你想使用版本

,它会好得多
<script src="{{ mix('js/login.js') }}"></script>

请参阅编译资产(Laravel Mix)

https://laravel.com/docs/5.4/mix

mix.js(['resources/assets/js/app.js'], 'public/js')
        .sass('resources/assets/sass/app.scss', 'public/css')
        .styles([
            'node_modules/animate.css/animate.css',
            'node_modules/icheck/skins/flat/green.css',
            'node_modules/flatpickr/dist/flatpickr.css',
            'node_modules/gentelella/vendors/switchery/dist/switchery.min.css',
            'node_modules/ion-rangeslider/css/ion.rangeSlider.css',
            'node_modules/ion-rangeslider/css/ion.rangeSlider.skinFlat.css',
            'node_modules/gentelella/vendors/google-code-prettify/bin/prettify.min.css',
            //bootstrap modal carousel.js
            //'node_module/bootstrap-modal-carousel/dist/css/bootstrap-modal-carousel.css',
            'node_modules/gentelella/build/css/custom.css',
            'resources/assets/css/custom.css'
        ], 'public/css/custom.css')
        .copy('node_modules/gentelella/vendors/switchery/dist/switchery.min.js', 'public/js/switchery.min.js')
        .copy('node_modules/gentelella/vendors/switchery/dist/switchery.min.css', 'public/css/switchery.min.css')
        .copy('resources/assets/images', 'public/images')
        .copy('node_modules/ion-rangeslider/img', 'public/img')
        .copy('node_modules/icheck/skins/flat/green.png', 'public/css')
        .copy('node_modules/icheck/skins/flat/green@2x.png', 'public/css').version();

答案 1 :(得分:0)

您可以在'package' => [ 'driver' => 'package', 'root' => base_path('package'), ], 中创建指向该文件夹的新磁盘。

{{ Storage::disk('package')->url('vendor_name/package_name/src/assets/js/login.js') }}
刀片

config/view.php

视图的自定义目录

要编辑此内容,您必须进入base_path('package/vendor_name/package_name/src/views')并为每个包添加路径'paths' => [ resource_path('views'), base_path('package/vendor_name/package_name/src/views'), ],

compile 'com.android.support:support-v4:25.3.1'