对网站中的js,css文件进行打包
一,为什么要用smarty进行打包
apache中也有给js,css这样的静态文件进行打包压缩的模块,但是本文所说的不是以这种方式进行的打包,而是和smarty结合的方式来把网站中的js,css文件进行打包。
为什么要进行打包呢,主要目的是为了合理的管理自己的代码。现在有好多网站,你查看一下网站的源码的话,你会发现网站的头部有大量的JS文件和CSS文件,网站的尾部也有可能有大量的JS文件。以webqq为例吧:
<script type="text/javascript" src="js/util.js?20100429001"></script> <script type="text/javascript" src="js/webeditor.js?20100429001"></script> <script type="text/javascript" src="js/helptip.js?20100429001"></script> <script type="text/javascript" src="js/window.js?20100429001"></script> <script type="text/javascript" src="js/main-panel.js?20100611001"></script> <!-- this script is for flashplayer version detection --> <script type="text/javascript" src="js/fp_detect.js"></script> <!--script type="text/javascript" src="js/tab-msgbox.js?20090311"></script--> <script type="text/javascript" src="js/tab-buddystate.js?20090927001"></script> <!--script type="text/javascript" src="js/tab-buddyimpression.js?20090311"></script--> <script type="text/javascript" src="js/tab-addbuddy.js?20091210001"></script> <script type="text/javascript" src="js/main.js?20100611001"></script> <script language="javascript" src="http://pingjs.qq.com/ping.js"></script>
上面的代码是放在webqq的底部,看着很不爽,如果只显示一个话,看着是不是很舒服呢?结果是肯定的。
二,用一个JS文件来包涵多个JS文件
1,用function
function include(filename) { document.write("<script language='JavaScript' type='text/javascript' src='" + filename + "'></script>"); } include("js/jquery-1.3.2.js"); include("js/test.js");
2,用数组
var jsarray = new Array(); jsarray[0] = "js/jquery-1.3.2.js"; jsarray[1] = "js/test.js"; for(i=0;i<jsarray.length;i++){ document.write("<script type='text/javascript' src='"+jsarray[i]+"'></script>"); }
三,模板文件
{foreach from=$jsArr item=js} <script src="{$js}" type="text/javascript"></script> {/foreach}
四,调用模板的php文件
public function addCss($<a href="http://www.php1.cn/category/72.html">css</a>) { if (!is_array($<a href="http://www.php1.cn/category/72.html">css</a>)) { $this->tpl->append('<a href="http://www.php1.cn/category/72.html">css</a>Arr', $<a href="http://www.php1.cn/category/72.html">css</a>); } else { $this->tpl->append('<a href="http://www.php1.cn/category/72.html">css</a>Arr', $<a href="http://www.php1.cn/category/72.html">css</a>, true); } } public function addJs($js) { if (!is_array($js)) { $this->tpl->append('jsArr', $js); } else { $this->tpl->append('jsArr', $js, true); } } $this->addJs("./js/test.pkg.js");
五,总结
这样做的好处是什么呢,个人分析了以下二点:
1,把一个页面包涵的js,css文件转变成一个,代码简单
2,把这些js,css放到一个js文件里面,便于管理,如果我想加一个js,减一个js很方便,你就不用在去改模板了,如果模板多的话,你都要一个页面,一个页面去改的话,很烦人的。
如果用的不是smarty模板的话也是一样,都可以拿出来的,如果没用模板的话也是可以的,在这里只是表达一种思想。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

在 Vue.js 中使用 Bootstrap 分为五个步骤:安装 Bootstrap。在 main.js 中导入 Bootstrap。直接在模板中使用 Bootstrap 组件。可选:自定义样式。可选:使用插件。

创建 Bootstrap 分割线有两种方法:使用 标签,可创建水平分割线。使用 CSS border 属性,可创建自定义样式的分割线。

要调整 Bootstrap 中元素大小,可以使用尺寸类,具体包括:调整宽度:.col-、.w-、.mw-调整高度:.h-、.min-h-、.max-h-

要设置 Bootstrap 框架,需要按照以下步骤:1. 通过 CDN 引用 Bootstrap 文件;2. 下载文件并将其托管在自己的服务器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根据需要编译 Sass/Less;5. 导入定制文件(可选)。设置完成后,即可使用 Bootstrap 的网格系统、组件和样式创建响应式网站和应用程序。

在 Bootstrap 中插入图片有以下几种方法:直接插入图片,使用 HTML 的 img 标签。使用 Bootstrap 图像组件,可以提供响应式图片和更多样式。设置图片大小,使用 img-fluid 类可以使图片自适应。设置边框,使用 img-bordered 类。设置圆角,使用 img-rounded 类。设置阴影,使用 shadow 类。调整图片大小和位置,使用 CSS 样式。使用背景图片,使用 background-image CSS 属性。

如何使用 Bootstrap 按钮?引入 Bootstrap CSS创建按钮元素并添加 Bootstrap 按钮类添加按钮文本

答案:可以使用 Bootstrap 的日期选择器组件在页面中查看日期。步骤:引入 Bootstrap 框架。在 HTML 中创建日期选择器输入框。Bootstrap 将自动为选择器添加样式。使用 JavaScript 获取选定的日期。
