kodicms / laravel-assets
v0.7
2020-09-10 10:16 UTC
Requires
- php: >=5.5.9
- laravel/framework: >=5.0
Requires (Dev)
- mockery/mockery: >=0.9.4
- phpunit/phpunit: >=4.1
README
Laravel Assets
安装
要安装此包,您可以通过执行以下命令行操作:
composer require kodicms/laravel-assets
或者,您可以在 composer.json
文件中添加此包
{ "require": { ... "kodicms/laravel-assets": "~0.6" ... } }
添加服务提供者到加载
'providers' => [ ... KodiCMS\Assets\AssetsServiceProvider::class, ... ], 'aliases' => [ ... 'Assets' => KodiCMS\Assets\Facades\Assets::class, 'PackageManager' => KodiCMS\Assets\Facades\PackageManager::class, 'Meta' => KodiCMS\Assets\Facades\Meta::class, ... ]
使用
构建包
PackageManager::add('jquery') ->js(null, 'https://code.jqueryjs.cn/jquery-2.1.4.min.js'); PackageManager::add('jquery-ui') ->js(null, 'https://code.jqueryjs.cn/ui/1.11.4/jquery-ui.min.js', 'jquery') ->css(null, 'https://code.jqueryjs.cn/ui/1.11.4/themes/ui-lightness/jquery-ui.css'); PackageManager::add('custom') ->js(null, '...') ->js('custom.second.js', '...', 'custom') ->css(null, '...') ->css('custom.second.css', '...');
向输出添加数据
除了在模板中,还可以直接在应用程序代码中生成输出元数据
use KodiCMS\Assets\Contracts\SocialMediaTagsInterface; class Article extends Model implements SocialMediaTagsInterface { ... } use Meta; class ArticleController extends Controller { public function show($articleId) { $article = Article::find($articleId); Meta::loadPackage('jquery') ->addSocialTags($article); Meta::addCss('style', url('css/style.css')); Meta::addJs('scripts', url('js/scripts.js'), 'jquery'); Meta::addJsElixir(); ... } }
输出
为了在网站模板中输出 css 和 js,使用 Meta 类。
<!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> {!! Meta::setFavicon('favicon.ico') // Подключение файлов из пакетов ->loadPackage('jquery', 'jquery-ui', 'custom') // Meta title ->setTitle('Hello world') ->setMetaDescription('Meta description') ->setMetaKeywords('Meta keywords') ->setMetaRobots('Meta robots') // Alternative meta title ->setMetaData(MetaDataInterface $data) // Social tags ->addSocialTags(SocialMediaTagsInterface $socialTags) // Custom tag ->addMeta([ 'property' => 'og:title', 'content' => 'Title', 'name' => 'og:title' ]) ->render() !!} </head>
输出包列表
php artisan assets:packages