一段代码(其实是一个网页),用一个工具(我目前用的http://dean.edwards.name/packer/)去掉了所有的空格和注释,但是呢,去掉之后的代码,理论上是可以正常运行的,为什么有时候,压缩之后的css
,html
,javaScript
代码就不能正常运行了?
原谅我这么问问题。
一段代码(其实是一个网页),用一个工具(我目前用的http://dean.edwards.name/packer/)去掉了所有的空格和注释,但是呢,去掉之后的代码,理论上是可以正常运行的,为什么有时候,压缩之后的css
,html
,javaScript
代码就不能正常运行了?
原谅我这么问问题。
原谅我 没遇到过。
看了 楼下大神的评论 我还是忍不住想再说两句
确实
大神说的很对
虽然我没有遇到过这个问题
但是由于早上回答了一个childNodes的问题
还是想说一下
html中要获取节点尽量不要用能获取文本节点或者一些别的节点的方法
实在不可取 一压缩就死翘翘了(——)
还是js
命名尽量规范些 不要写个a啊 b啊 c啊 的(%——%)
js混淆压缩一般会把tab()名称压缩为t()
所以 如果你某个地方正好写了个t()
那就又死翘翘了
首先保证良好的代码书写习惯.
举个栗子:
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前面都会加上;
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
代码压缩不外乎就是去掉了多余的空格,换行符等字符的方式,那么既然是去掉了一些东西,在某些情况下,出现问题也是能够理解的吧。举个例子,假如你Html页面有个ul列表,你js中直接获取它的childrenNods,其中就是包含了空格符和换行符,然后你后面有有一个方法,就是去掉这些空白符合换行符的,结果你html压缩了,没有空白和换行符了,就会报错。这,你能理解吗?具体问题,你还得具体分析一下,如果你非要压缩,哪里出了问题,再相应做修改就是了。还有就是,压缩的时候,最好把css样式,js,和html分开来压缩,不然也容易出问题