对于一个好的程序员,必须在代码中提供好的注释。 在PHP中,给出注释没有缺点。 但是JavaScript呢? 您是否真的希望这些注释保留在代码中并使它的大小增加一倍,并且当然会在代码到达客户端(浏览器)时公开您所做的事情?
我不确定你们中有多少人会遇到这个问题,但是我已经面对了很多次。 我不擅长记忆,因此我在JavaScript代码中添加了很多代码注释。 从不希望这些评论能够传达给客户。 所以我以前用PHP代码从每个文件中删除注释,然后上传
缩小文件到服务器。然后我想到一个主意。 我此后从未删除评论。 可能有些用途已经在使用此东西,但这对我来说是新的,因此请考虑在此处发布。
这里是...
- 而不是常规名称文件夹。 在其中保存JavaScript文件的js或脚本中,将它们保存在随机名称文件夹中。 像js_kl32lnfdn之类的东西 。
- 我们将外部JavaScript文件称为
取而代之的是,创建一个PHP函数,如下所示:<script type="text/javascript" src="/scripts/myscript.js"></script>
将此功能保存在一个安全的文件中。function send_script($script) { echo "<script type=\"text/javascript\" src=\"/js.php?js=".$script."\"></script>"; //don't use the XML style closing tag (<script .... />) IE would not read it. }
- 在根文件夹中,保存此PHP文件(js.php)
最小化器 PHP类在这里: JSMin<?php //define the folder name, so that it can be changed anytime. define("FOLDER_NAME", "js_kl32lnfdn"); //path for the original file $js_original = $_SERVER['DOCUMENT_ROOT']."/".FOLDER_NAME."/".$_GET['js']; //header for the javascript file (will give a warning if not provided) header("content-type:text/javascript; charset:UTF-8"); //alert error if file doesn't exisit if (!file_exists($js_original)) die('alert(\'JavaScript file error!\')'); //include minificator class require('jsmin-1.1.0.php'); //read and minify the content $minified = JSMin::minify(file_get_contents($js_original)); //header for caching header("Expires: ".gmdate("D, d M Y H:i:s", (time()+9000)) . " GMT"); //year to write on copyright notice $year = getdate(); $year = $year['year']; //send your copyright notice echo "/* Copyright ".$year." - www.your-website.com */"; //send the minified version echo $minified; ?>
会发生什么..
- JavaScript文件将由js.php文件缩小 ,而js.php文件本身将使用缩小器类(不是我自己制作的)。
- 路径为js_kl32lnfdn / script1.js的文件将称为js.php?js = script1.js。 因此,永远不会知道原始(注释)文件的路径。
- 为了获得更高的安全性,例如,如果仅希望登录用户能够调用javascript或其他功能,则可以在js.php的开头添加一些验证代码。
希望你会喜欢。
问候,
哈普雷特
From: https://bytes.com/topic/php/insights/796602-how-minify-not-obfuscate-your-javascript-using-php