sudo/assets

Asset Sudo 包

1.0.0 2020-06-06 05:01 UTC

This package is auto-updated.

Last update: 2024-09-05 05:28:02 UTC


README

介绍: 这是一个用于管理文件assets的包,可以轻松方便地管理版本。

安装以使用

  • 要使用包,需要按照以下命令require:composer require sudo/assets

发布

默认情况下,运行php artisan sudo/core命令会自动为该包生成内容,但有时可能需要单独为该包重新生成内容,请运行以下函数

  • 按core共同初始化
    • 创建配置:php artisan vendor:publish --tag=sudo/core
    • 仅创建配置:php artisan vendor:publish --tag=sudo/core/config
  • 按package单独初始化
    • 创建配置:php artisan vendor:publish --tag=sudo/asset
    • 仅创建配置:php artisan vendor:publish --tag=sudo/asset/config

使用方法

要使用,首先需要将以下代码段插入master布局中

  • 插入到head标签中

      {!! Asset::renderHeader() !!}
    
  • 插入到body标签的结束处

      {!! Asset::renderFooter() !!}
    

要管理css/js文件,可以在config/SudoAsset.php中轻松管理

return [
    // Mặc định sẽ là true, assets sẽ được load từ local, 
    // Nếu set offline là false và resource có định nghĩa use_cdn là true thì assets sẽ được load từ cdn
    'offline' => env('ASSETS_OFFLINE', true),

    // Bật hiển thị version, lúc này link tới resource sẽ được nối thêm "?v=1.0" chẳng hạn.
    'enable_version' => true,

    // Version hiển thị khi enable_vesion là true
    'vesion' => '1.0',

    // Các thư viện css mặc định được sử dụng, là key được định nghĩa trong phần resource bên dưới.
    'styles' => [
        //
    ],

    // Các thư viện js mặc định được sử dụng, là key được định nghĩa trong phần resource bên dưới.
    'scripts' => [
        //
    ],

    // Định nghĩa tất cả đường dẫn tới assets.
    'resources' => [
    	// Định nghĩa các thư viện css
    	'styles' => [
            'style' => [
		    // Có cho phép sử dụng cdn hay không, nếu là true thì phải định nghĩa link tới cnd bên dưới
	            'use_cdn' => false,
		    // Vị trí chèn trên header hay dưới footer lần lượt là top, bottom
	            'location' => 'top',
		    // Đường dẫn tới thư viện
	            'src' => [
			// Đường dẫn local
	            	'local' => '/assets/css/style.min.css',
			// Đường dẫn cdn
	            	'cdn' => null,
	            ],
		    // Thuộc tính của thẻ theo dạng [ key => value, key2 => value2 ]
		    // VD: "type" => "text/css" thì thẻ link sẽ có thêm thuộc tính "type=text/css"
	            'attributes' => [
		    	type" => "text/css"
		    ],
	        ],
        ],

        // Định nghĩa các thư viện js
        'scripts' => [
            'jquery' => [
		    // Có cho phép sử dụng cdn hay không, nếu là true thì phải định nghĩa link tới cnd bên dưới
                   'use_cdn' => false,
		    // Vị trí chèn trên header hay dưới footer lần lượt là top, bottom
                    'location' => 'top',
		    // Đường dẫn tới thư viện
                   'src' => [
		    	// Đường dẫn local
                    	'local' => '/assets/libs/jquery/jquery.min.js',
		    	// Đường dẫn cdn
                    	'cdn' => null,
                    ],
		    // Thuộc tính của thẻ theo dạng [ key => value, key2 => value2 ]
		   // VD: "async" => "" thì thẻ link sẽ có thêm thuộc tính "async"
                   'attributes' => [],
            ],
        ],
    ],
];

一些内置函数

除了在config/assets.php文件中定义assets外,我们还可以从controller直接添加/删除js、css

public function show()
{
	\Assets::addStyle(['key-style-su-dung'])
		->addScript(['key-script-su-dung'])
		->removeStyle(['key-style-khong-su-dung'])
		->removeScript(['key-script-khong-su-dung']);
}

直接添加assets而不需要在config中添加

\Asset::addDirectly([
	// đường dẫn đến assets, khuyến khich dùng hàm asset()
    ], 'styles', 'top')
	->addDirectly([
	// đường dẫn đến assets, khuyến khich dùng hàm asset()
    ], 'styles', 'bottom')
	->addDirectly([
	// đường dẫn đến assets, khuyến khich dùng hàm asset()
    ], 'scripts', 'top')
	->addDirectly([
	// đường dẫn đến assets, khuyến khich dùng hàm asset()
    ], 'scripts', 'bottom')