在团队中有个牛人,使用php脚本引入js文件,非常方便:
header('Content-type: text/javascript; charset=utf-8');
header('Expires: ' . date('D, d M Y H:i:s', time() + 86400) . ' GMT');
if (!empty($_GET)) {
$fileName = array();
$subFiles = array();
$modelName = $_GET['modelName'];
if (empty($modelName)) {
exit;
} else {
$modelName = trim($modelName);
unset($_GET['modelName']);
}
foreach ($_GET as $from => $path) {
$from = trim($from);
$path = trim($path);
if (strlen($from) < 3) {
continue;
}
if (strlen($path) < 1) {
continue;
}
array_push($fileName, $from . $path);
$from = substr($from, 2);
$path = str_replace('^', '/', $path);
switch ($from) {
case Test_Constant::JS_FROM_COM_LIB:
$from = './library/';
break;
case Test_Constant::JS_FROM_APP_LIB:
$from = "./{$modelName}/scripts/library/";
break;
default :
$from = "./{$modelName}/scripts/";
break;
}
array_push($subFiles, $from . $path . '.js');
}
$filePath = './' . $modelName . '/scripts/caches/' . md5(implode('', $fileName)) . '.js';
if (is_file($filePath)) {
readfile($filePath);
} else {
$data = '';
foreach ($subFiles as $file) {
$data .= file_get_contents($file) . ";/n ";
}
@file_put_contents($filePath, $data);
echo $data;
}
}
其中的常量类:
class Test_Constant
{
/**
* 来自公用类库的JS文件
*/
const JS_FROM_COM_LIB = 1;
/**
* 相对于特定应用来说的JS类库目录
*/
const JS_FROM_APP_LIB = 3;
/**
* 相对于特定应用来说的JS通用目录
*/
const JS_FROM_APP_COM = 5;
}
那么如何调用呢?
很cool吧。