PHP 配合JSmin库进行压缩前端JS代码进行合并访问,减小前端访问请求。

JsMin-PHP 项目地址javascript

https://github.com/rgrove/jsmin-php

 

使用示例:php

$js_path     = './e.js';
$js_source  = file_get_contents($js_path);
$minifiedJs = JSMin::minify($js_source);
echo $minifiedJs;

 

预想的访问请求java

https://www.example.com/js??/js/e.js,/js/jquery.js,index.js

 

/js/index.php 文件内容jquery

<?php
header ("Content-type:Application/x-javascript; Charset: utf-8");
define ('SITE_PATH', dirname ( __FILE__ ) );
define ('PUBLIC_PATH', SITE_PATH.'/../Public');
if(isset($_SERVER['QUERY_STRING'])) {
	$jsurl = '';
	if(preg_match('/^\?.*?\.(js|json)$/isU', $_SERVER['QUERY_STRING'])){
		$jsurl = ltrim($_SERVER['QUERY_STRING'],'?');
	}
	$files = explode(",", $jsurl);
	$str = '';
	foreach ($files as $key => $val){
		$path = PUBLIC_PATH.$val;
		if(is_file($path)){
			$str .= file_get_contents($path);
		}
	}

	require 'jsmin.php';
	$packed = JSMin::minify($str);
	echo $packed;
}

 

只是简单完成基本加载合并功能,具体使用还须要进行安全过滤等。git

 

完)github

相关文章
相关标签/搜索