一个用于自动压缩 CSS、SCSS 和 JavaScript 的 Laravel 包

2.3.1 2021-10-22 08:49 UTC

This package is auto-updated.

Last update: 2024-08-29 05:07:23 UTC


README

一个简单的包,可以动态压缩 CSS/SCSS 和 JavaScript,无需使用 Laravel Mix 或 Webpack 等工具。它将所有样式表文件或 JavaScript 文件合并成一个单一、压缩的文件,并使用 filemtime() 简单但有效的缓存破坏策略。

版本 2 是一个全新的包 (版本 1 在这里存档),使用 scssphp/scssphptedivm/jshrink。由于 minify 现在用 scssphp 替换了 natxet/cssmin,因此现在也可以编译 SASS/SCSS 代码了!

安装

首先使用 composer 安装此包。

composer require nickdekruijk/minify

从 1.x 升级

升级时,将项目的 composer.json 中的 nickdekruijk/minify 替换为至少版本 "^2.0",并运行 composer update

如果您使用 .gitignore 忽略 js/builds 和 css/builds 中的旧构建,请记得从 .gitignore 文件中删除它们,并删除所有过时的构建 .css 和 .js 文件。

您可能还需要更改代码/视图中的 Minify::stylesheet 和 Minify::javascript 调用,因为路径名可能会根据您的配置而更改。

Laravel 安装

如果默认设置不满足您的需求,请发布配置文件

php artisan vendor:publish --provider="NickDeKruijk\Minify\MinifyServiceProvider"

样式表

// app/views/hello.blade.php
<html>
    <head>
        ...
        {!! Minify::stylesheet(['lightbox.css', 'fonts.css', 'styles.css']) !!}
    </head>
    ...
</html>

JavaScript

// app/views/hello.blade.php

<html>
    <body>
        ...
        {!! Minify::javascript(['lazyload.min.js', 'scripts.js']) !!}
        <!-- Or: -->
        {!! Minify::javascript(['https://cdn.jsdelivr.net.cn/npm/vanilla-lazyload@12.4.0/dist/lazyload.min.js', 'scripts.js') !!}
    </body>
</html>

配置

查看配置文件 /config/minify.php