simonmarcellinden / scriptloader
用于动态加载脚本和样式的包
1.1.3
2021-10-20 12:34 UTC
Requires
- illuminate/support: ~7|~8
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
README
使用此包,您可以管理从Laravel控制器加载的头部样式和脚本标签。
安装
从命令行运行
$ composer require simonmarcellinden/scriptloader
Laravel <= 5.4
一旦安装了ScriptLoader,您需要将服务提供者注册到应用程序中。打开config/app.php
并找到providers
键。
将服务提供者添加到config/app.php
SimonMarcelLinden\ScriptLoader\ScriptLoaderServiceProvider::class,
可选地,如果您想包括外观,也可以在config/app.php中包含它。
"ScriptLoader" =>"SimonMarcelLinden\ScriptLoader\Facades\ScriptLoader::class,
发布配置
从项目的根目录在命令行运行此命令
$ no config needed
配置文件将被发布到config/scriptloader.php
。
使用方法
示例
直接在路由或控制器中添加脚本或样式源
app/Http/Controllers/Controller.php
<?php namespace App\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesCommands; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests; use ScriptLoader; abstract class Controller extends BaseController { use DispatchesCommands, ValidatesRequests; public function __construct() { // Defaults ScriptLoader::set("style", asset('css/default.css'), 3); ScriptLoader::set("style", asset('css/app.css'), 1); } }
app/Http/Controllers/HomeController.php
<?php namespace App\Http\Controllers; use ScriptLoader; class HomeController extends Controller { public function index() { // Section description ScriptLoader::set("style", asset('css/home.css'), 2); ScriptLoader::set("script", asset('js/home.js'), 4, "defer"); return view('index'); } public function detail() { // Section description ScriptLoader::set("style", asset('css/details.css'), 2); ScriptLoader::set("script", asset('js/details.js'), 2); return view('detail'); } public function privateProfile() { ScriptLoader::set("style", asset('css/home.css'), 2); ScriptLoader::set("style", asset('css/private.css'), 3); ScriptLoader::set("script", asset('js/private.js'), 4, "defer"); return view('private'); } }
resources/views/layouts/app.blade.php
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Laravel - ScriptLoader</title> {!! ScriptLoader::load() !!} </head> <body> @yield('content') </body> </html>
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅contributing.md以获取详细信息以及待办事项列表。
安全性
如果您发现任何安全相关的问题,请通过电子邮件info@snerve.de而不是使用问题跟踪器来报告。
致谢
许可证
MIT。请参阅许可证文件以获取更多信息。