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

相關文章
相關標籤/搜索