我正在使用Laravel 5.4创建一个包。我需要在刀片模板中包含一些资产(js,CSS和图像)。我怎样才能做到这一点?
我已经尝试过asset(),但它无效。
这是我的包的文件夹结构:
root
--package
-- vendor_name
-- package_name
-- src
-- assets
-- js
-- login.js
--css
-- login.css
-- views
-- login.blade.php
如果没有将它们发布到公共文件夹中,是否可能?
由于
答案 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'