thecoderraman / laravel-assets-version
Laravel静态资源版本控制通过查询字符串:app.js → app.js?v=d41d8cd98f
v1.0
2023-12-08 17:12 UTC
Requires
- php: ^7.3|~8
Requires (Dev)
- mockery/mockery: ^1.6
- orchestra/testbench: ^7.0.0
- pdepend/pdepend: ^2.8
- phpmd/phpmd: ^2.9
- phpunit/phpunit: ^9.4
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-05 17:24:40 UTC
README
🦸♂️ 关于
通过结合查询字符串,Laravel静态资源版本控制方便了静态资源版本控制,例如将app.js转换为app.js?d41d8cd98f。此方法允许高效地清除缓存,确保更新的静态资源版本能够被网络浏览器及时识别并使用。通过添加唯一的查询字符串,如附加的d41d8cd98f,系统可以有效地区分同一静态资源的不同版本,从而提高Web开发项目的性能和可靠性。
通过Laravel的动态资源版本控制,无缝集成查询字符串,确保高效的缓存清除和快速识别更新版本。
👊 "使用Laravel的动态版本控制进行高效缓存清除"。
主要技术
- laravel
结构
├───config
├───resources
├───src
│ ├───Console
│ ├───Contracts
│ ├───Helpers
│ └───Support
│ └───Facades
└───tests
├───Concerns
├───Feature
└───Unit
💫 要求
- PHP >= 7.3
⚜️ 功能
- 支持多种哈希算法生成资源文件版本。
- 支持不同的过滤器在资源版本生成期间过滤资源文件。
- 使用
asset_path()辅助函数自动分配版本到资源URL。
入门 🎉
以下说明将使您在本地机器上运行库副本,用于生产和开发。
👨💻 生产环境
安装此包
$ composer require thecoderraman/laravel-assets-version
发布配置文件
$ php artisan vendor:publish --tag=assets-version
根据需要更新配置文件
edit: config/assets-version.php
根据需要更新环境文件
# Directory for assets ASSET_PATH=assets # Path to assets directory ASSET_URL=https:///assets
🕹️ 库基本用法
您可以使用below辅助函数获取任何资源文件的版本化URL
使用辅助函数
# For Type Js js_path('app.js'); // "assets/js/app.js?3085ede8f2" # For Type Css css_path('app.css'); // "assets/css/app.css?3ede8f2085" # For Other Types asset_path('images/logo.png'); // "assets/images/logo.png?e8f203ed85"
在Laravel blade模板内部使用
<link href="{{ asset_path('js/app.js') }}" rel="stylesheet">
使用外观
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use TheCoderRaman\AssetsVersion\Support\Facades\AssetsVersion; class WelcomeController extends Controller { /** * Display a listing of the resource. * * @return string */ public function index() { // "assets/js/app.js?3085ede8f2" dump(AssetsVersion::jsPath('app.js')); // "assets/css/app.css?3ede8f2085" dump(AssetsVersion::cssPath('app.css')); // "assets/images/logo.png?e8f203ed85" dump(AssetsVersion::assetPath('images/logo.png')); } }
⚠️ 您必须每次更改任何资源文件内容时都运行这些命令。
资源版本命令
# For generating assets version cache file $ php artisan assets-version:cache # For removing assets version cached file $ php artisan assets-version:clear
🛠️ 开发环境
克隆此存储库
$ git clone https://github.com/TheCoderRaman/laravel-assets-version.git
$ cd laravel-assets-version
$ composer install
PhpUnit测试
# Run Tests
$ composer run-script phpunit
用于测试集成的Testbench
# Use TestBench
$ composer run-script testbench
$ composer run-script testbench:serve
$ composer run-script testbench:build
$ composer run-script testbench:prepare
$ composer run-script testbench:clear
存储库分支
- master -> 此分支的任何更改pull请求
- main -> 不要修改,这是在生产中运行的
贡献
欢迎拉取请求。对于主要更改,请首先打开一个问题以讨论您想要更改的内容。请确保适当地更新测试。
拉取请求
- 叉存储库并创建您的分支:
#[type]/PR description - 确保描述您的拉取请求:通过添加语义前缀(如
Added、Updated:、Fixed:等)来编辑PR标题。标题:#[issue] PR标题 -> #90 修复了按钮的样式
作者
行为准则
为了确保Assets Version社区对所有成员都友好,请查阅并遵守行为准则。
安全漏洞
如果您在Assets Version中发现安全漏洞,请通过电子邮件联系拉曼·维尔玛。所有安全漏洞都将得到及时处理。
许可协议
Assets Version是开源软件,采用MIT许可协议。
