src/Template.php
static public function js(string ...$files): string
    {
        // 如果没有参数,则忽略
        if (count($files) < 1) {
            return '';
        }

        // 只有一个参数,则包含原来的文件
        if (count($files) == 1) {
            // 构造JS文件的URL
            $url = self::pathRoot() . self::dirJs($files[0]);

            // 调试模式,加上版本号
            $url = self::appendVer($url);

            // 构造 HTML中的JS包含语法
            return "<script type='text/javascript' src='$url'></script>\n";
        }

        // 文件名拼接
        $cacheName = self::cacheBind($files);
        $cachePath = self::pathWithModule('/static', "cache/{$cacheName}.js");
        $cacheDir = self::$root . '/public' . $cachePath;

        // 如果合并文件不存在,则生成
        if (isDebug() or !self::checkFile($cacheDir)) {
            // 脚本内容
            $content = '';

            // 逐个脚本内容取出
            foreach (func_get_args() as $arg) {
                $dirJs = self::dirJs($arg);

                //脚本文件的全路径
                $fullName = self::$root . 'public' . $dirJs;

                //加一个注释
                $content .= "\r\n\r\n{$dirJs}\r\n";

                // 内容合并
                $content .= file_get_contents($fullName) . "\n";
            }

            // 创建输出路径
            makeDir(dirname($cacheDir));

            // 写入缓存文件
            write($cacheDir, $content);
        }

        $url = self::appendVer(self::pathRoot() . $cachePath);
        return "<script type='text/javascript' src='$url'></script>\n";
    }
static public function js(string ...$files): string
    {
        // 如果没有参数,则忽略
        if (count($files) < 1) {
            return '';
        }

        // 只有一个参数,则包含原来的文件
        if (count($files) == 1) {
            // 构造JS文件的URL
            $url = self::pathRoot() . self::dirJs($files[0]);

            // 调试模式,加上版本号
            $url = self::appendVer($url);

            // 构造 HTML中的JS包含语法
            return "<script type='text/javascript' src='$url'></script>\n";
        }

        // 文件名拼接
        $cacheName = self::cacheBind($files);
        $cachePath = self::pathWithModule('/static', "cache/{$cacheName}.js");
        $cacheDir = self::$root . '/public' . $cachePath;

        // 如果合并文件不存在,则生成
        if (isDebug() or !self::checkFile($cacheDir)) {
            // 脚本内容
            $content = '';

            // 逐个脚本内容取出
            foreach (func_get_args() as $arg) {
                $dirJs = self::dirJs($arg);

                //脚本文件的全路径
                $fullName = self::$root . 'public' . $dirJs;

                //加一个注释
                $content .= "\r\n\r\n{$dirJs}\r\n";

                // 内容合并
                $content .= file_get_contents($fullName) . "\n";
            }

            // 创建输出路径
            makeDir(dirname($cacheDir));

            // 写入缓存文件
            write($cacheDir, $content);
        }

        $url = self::appendVer(self::pathRoot() . $cachePath);
        return "<script type='text/javascript' src='$url'></script>\n";
    }
在模板中包含脚本文件
可变参数: 脚本文件名称列表
@param $files string[]
@return string