ricardosierra / minify
一个用于laravel 5压缩样式和javascript的包
0.4.4
2024-01-16 03:12 UTC
Requires
- php: >=5.4.0
- illuminate/filesystem: ^7.0 || ^8.0
- illuminate/support: ^7.0 || ^8.0
- natxet/cssmin: 3.*
- tedivm/jshrink: ~1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- orchestra/testbench: ^5.0|^6.0
- phpro/grumphp: >=1.3
- phpunit/phpunit: ^9.3
- psalm/plugin-laravel: ^1.5
- vimeo/psalm: ^4.0
Replaces
This package is auto-updated.
Last update: 2024-09-16 04:44:07 UTC
README
使用此包,您可以压缩laravel 5现有的样式表和javascript文件。这个过程可能有点困难,但这个包简化了此过程并自动化了它。
对于Laravel 4,请使用 ceesvanegmond/minify
安装
首先通过Composer安装此包。
{ "require": { "ricardosierra/minify": "1.0.*" } }
Laravel安装
然后通过打开 config/app.php
注册服务提供者和外观。
RicardoSierra\Minify\MinifyServiceProvider::class,
'Minify' => RicardoSierra\Minify\Facades\MinifyFacade::class,
发布配置文件
php artisan vendor:publish
当您添加了 MinifyServiceProvider
后,将有一个额外的 Minify
外观可用。您可以在应用程序的任何位置使用此外观。
样式表
// app/views/hello.blade.php <html> <head> ... {!! Minify::stylesheet('/css/main.css') !!} // or by passing multiple files {!! Minify::stylesheet(array('/css/main.css', '/css/bootstrap.css')) !!} // add custom attributes {!! Minify::stylesheet(array('/css/main.css', '/css/bootstrap.css'), array('foo' => 'bar')) !!} // add full uri of the resource {!! Minify::stylesheet(array('/css/main.css', '/css/bootstrap.css'))->withFullUrl() !!} {!! Minify::stylesheet(array('//fonts.googleapis.com/css?family=Roboto')) !!} // minify and combine all stylesheet files in given folder {!! Minify::stylesheetDir('/css/') !!} // add custom attributes to minify and combine all stylesheet files in given folder {!! Minify::stylesheetDir('/css/', array('foo' => 'bar', 'defer' => true)) !!} // minify and combine all stylesheet files in given folder with full uri {!! Minify::stylesheetDir('/css/')->withFullUrl() !!} </head> ... </html>
JavaScript
// app/views/hello.blade.php <html> <body> ... </body> {!! Minify::javascript('/js/jquery.js') !!} // or by passing multiple files {!! Minify::javascript(array('/js/jquery.js', '/js/jquery-ui.js')) !!} // add custom attributes {!! Minify::javascript(array('/js/jquery.js', '/js/jquery-ui.js'), array('bar' => 'baz')) !!} // add full uri of the resource {!! Minify::javascript(array('/js/jquery.js', '/js/jquery-ui.js'))->withFullUrl() !!} {!! Minify::javascript(array('//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js')) !!} // minify and combine all javascript files in given folder {!! Minify::javascriptDir('/js/') !!} // add custom attributes to minify and combine all javascript files in given folder {!! Minify::javascriptDir('/js/', array('bar' => 'baz', 'async' => true)) !!} // minify and combine all javascript files in given folder with full uri {!! Minify::javascriptDir('/js/')->withFullUrl() !!} </html>
配置
<?php return array( /* |-------------------------------------------------------------------------- | Sort Direction |-------------------------------------------------------------------------- | | You can set the sort direction (ascending/descending) when | minifying full directories. | */ 'reverse_sort' => true, /* |-------------------------------------------------------------------------- | App environments to not minify |-------------------------------------------------------------------------- | | These environments will not be minified and all individual files are | returned | */ 'ignore_environments' => array( 'local', ), /* |-------------------------------------------------------------------------- | CSS build path |-------------------------------------------------------------------------- | | Minify is an extension that can minify your css files into one build file. | The css_builds_path property is the location where the builded files are | stored. This is relative to your public path. Notice the trailing slash. | Note that this directory must be writeable. | */ 'css_build_path' => '/css/builds/', 'css_url_path' => '/css/builds/', /* |-------------------------------------------------------------------------- | JS build path |-------------------------------------------------------------------------- | | Minify is an extension that can minify your js files into one build file. | The js_build_path property is the location where the builded files are | stored. This is relative to your public path. Notice the trailing slash. | Note that this directory must be writeable. | */ 'js_build_path' => '/js/builds/', 'js_url_path' => '/js/builds/', /* |-------------------------------------------------------------------------- | Hash modification |-------------------------------------------------------------------------- | | You can disable usage of modification time (mtime) for hash build and | add additional salt (exp. commit hash) for hash build | */ 'disable_mtime' => false, 'hash_salt' => '', /* |-------------------------------------------------------------------------- | Base URL |-------------------------------------------------------------------------- | | You can set the base URL for the links generated with the configuration | value. By default if empty HTTP_HOST would be used. | */ 'base_url' => '' );