我不确定你们中有多少人会遇到这个问题,但是我已经面对了很多次。 我不擅长记忆,因此我在代码中给出了很多代码注释。 从不希望该代码到达客户。 所以我以前用PHP代码从每个文件中删除注释,然后上传
缩小文件到服务器。然后我想到一个主意。 我此后从未删除评论。 可能有些用途已经在使用此东西,但这对我来说是新的,因此请考虑在此处发布。
这里是...
- 而不是常规名称文件夹。 在其中保存JavaScript文件的js或脚本中,将它们保存在随机名称文件夹中。 像js_kl32lnfdn之类的东西 。
- 我们将外部JavaScript文件称为[html] <script type =“ text / javascript” src =“ / scripts / myscript.js”> </ script> [/ html]
取而代之的是,创建一个PHP函数,如下所示:[php] function send_script($ script)
{
回声“ <脚本类型= \”文本/ javascript \“ src = \” / js.php?js =“。$ script。” \“> </ script>”; //不要使用XML样式结束标记(<script .... />)IE不会读取它。
} [/ php]将此功能保存在一个安全的文件中。
- 在根文件夹中,保存此PHP文件( js.php )[php] <?php
//定义文件夹名称,以便可以随时更改它。
define(“ FOLDER_NAME”,“ js_kl32lnfdn”);
//原始文件的路径
$ js_original = $ _SERVER ['DOCUMENT_ROOT']。“ /”。FOLDER_NAME。“ /”。$ _ GET ['js'];
// javascript文件的标题(如果未提供,则会给出警告)
header(“ content-type:text / javascript; charset:UTF-8”);
//如果文件不存在则提示错误
如果(!file_exists($ js_original))
die('alert(\'JavaScript文件错误!\')');
//包括缩小器类
require('jsmin-1.1.0.php');
//阅读并缩小内容
$ minified = JSMin :: minify(file_get_contents($ js_original));
//缓存标题
header(“ Expires:” .gmdate(“ D,d MYH:i:s”,(time()+ 9000))。“ GMT”);
//写版权声明的年份
$ year = getdate();
$ year = $ year ['year'];
//发送版权声明
回声“ / *版权”。$ year。“-www.your-website.com * /”;
//发送缩小版本
回声$ minified;
?> [/ php]
最小化器 PHP类在这里: JSMin
会发生什么..
- JavaScript文件将由js.php文件缩小 ,而js.php文件本身将使用缩小器类(不是我自己制作的)。
- 路径为js_kl32lnfdn / script1.js的文件将称为js.php?js = script1.js 。 因此,永远不会知道原始(注释)文件的路径。
- 为了获得更高的安全性,例如,如果仅希望登录用户能够调用javascript或其他功能,则可以在js.php的开头添加一些验证代码。
希望你会喜欢。 但是,如果有任何缺点,请告诉我。 :)
问候,
哈普雷特
From: https://bytes.com/topic/javascript/insights/796343-dont-want-send-your-comments-code