一段代码(其实是一个网页),用一个工具(我目前用的http://dean.edwards.name/packer/)去掉了所有的空格和注释,但是呢,去掉之后的代码,理论上是可以正常运行的,为什么有时候,压缩之后的css
,html
,javaScript
代码就不能正常运行了?
原谅我这么问问题。
代码规范很重要
贴出压缩后的地址,这样谁知道你那里错了。。
首先保证良好的代码书写习惯.
举个栗子:
var test=function(a){ alert(a) return function(c){ alert(c) } } (function(b){ console.log(b) })(1)
这段代码的执行结果.
但实际上期望的是只输出立即调用函数.所以需要在一些地方加上分号.
var test=function(a){ alert(a) return function(c){ alert(c) } }; (function(b){ console.log(b) })(1);
所以如果需要压缩代码 一般外链的js前面都会加上;
原谅我 没遇到过。
看了 楼下大神的评论 我还是忍不住想再说两句
确实
大神说的很对
虽然我没有遇到过这个问题
但是由于早上回答了一个childNodes的问题
还是想说一下
html中要获取节点尽量不要用能获取文本节点或者一些别的节点的方法
实在不可取 一压缩就死翘翘了(——)
还是js
命名尽量规范些 不要写个a啊 b啊 c啊 的(%——%)
js混淆压缩一般会把tab()名称压缩为t()
所以 如果你某个地方正好写了个t()
那就又死翘翘了
代码压缩不外乎就是去掉了多余的空格,换行符等字符的方式,那么既然是去掉了一些东西,在某些情况下,出现问题也是能够理解的吧。举个例子,假如你Html页面有个ul列表,你js中直接获取它的childrenNods,其中就是包含了空格符和换行符,然后你后面有有一个方法,就是去掉这些空白符合换行符的,结果你html压缩了,没有空白和换行符了,就会报错。这,你能理解吗?具体问题,你还得具体分析一下,如果你非要压缩,哪里出了问题,再相应做修改就是了。还有就是,压缩的时候,最好把css样式,js,和html分开来压缩,不然也容易出问题