jrohde/smarty-ass

动态打包和压缩JS和/或CSS文件。

1.0.1 2017-06-26 12:58 UTC

This package is not auto-updated.

Last update: 2024-09-23 06:44:11 UTC


README

此Smarty插件使用Matthias Mullie的Minify库来进行压缩和打包。

它会自动检查JS/CSS文件/代码的变化,然后重建压缩/打包的输出文件。

目录

  1. 安装
  2. 参数
  3. 用法/示例

安装

使用Composer将库包含到您的项目中

$ composer.phar require jrohde/smarty-ass

现在将插件目录添加到您的Smarty实例中

$smarty = new \Smarty();
$smarty->addPluginsDir('./path/to/vendor/rohdej/smarty-ass/');

您可以通过以下方式检查是否正确添加了路径

var_dump($smarty->getPluginsDir());

参数

  • in (数组) - 本地JS或CSS文件的绝对路径('s),内联 <script> 或 <style> 标签和/或外部JS或css文件。
  • out (字符串) - 压缩和打包文件输出的绝对路径(必须可由Web服务器/php用户写入!)。此参数为可选,默认为 '/assets/(js/css)/${smarty_template_name}_combined.(css/js)'。
  • ttl (整数) - 缓存文件的存活时间(以秒为单位)。这是压缩/组合文件可能存在的最大时间,然后进行完整的重建。注意,当源文件被修改时,输出文件将被重新生成,不受此值的影响。此参数为可选,默认为 '31536000'(即:1年)。
  • gzip (布尔值) - 对输出文件进行gzip压缩。确保您的PHP/Web服务器支持此功能!此参数为可选,默认为 'false'。
  • debug (布尔值) - 如果设置为 'true',则禁用编译,并正常输出所有内容。此参数为可选,默认为 'false'。

用法(在Smarty 3+模板中)

{ass in=['file1.js','file2.js'] out='/assets/combined_and_minified.js' ttl='3600' gzip='false' debug=false}

您还可以使用外部js/css/cdn

{ass in=[
    'https://code.jqueryjs.cn/jquery-git.min.js',
    'https://code.jqueryjs.cn/ui/1.12.1/jquery-ui.min.js'
] out='/assets/combined_and_minified.js' ttl='3600' gzip='false' debug=false}

使用/添加内联CSS或JS(但确保转义单/双引号!)

{ass in=["
    <script>
    var cool = 'awesome';
    </script>
"] out='/assets/combined_and_minified.js' ttl='3600' gzip='false' debug=false}

甚至可以混合使用

{ass in=[
    'https://code.jqueryjs.cn/jquery-git.min.js',
    'https://code.jqueryjs.cn/ui/1.12.1/jquery-ui.min.js',
    'file1.js',
    'file2.js',
    '<script>
        var cool = \'awesome\';
    </script>'
] out='/assets/combined_and_minified.js' gzip='true'}