您是否在部署过程中迈出了缩小JS的步骤?你有没有任何类型的JavaScript预处理器允许你留下评论和console.logs然后自动删除它们?你的JavaScript机器是由GWT还是脚本#生成的?您是否使用ANT或其他工具自动部署?
我看到很多JavaScript看起来就像编辑器一样,有很多空格和注释。这有多少是因为没有关心部署代码的状态,以及开放网络的精神是多少?
答案 0 :(得分:11)
我经常使用JSLint查看它以确保它没有错误,然后用YUI compressor打包/编码。
答案 1 :(得分:4)
我的步骤包括:
我最终得到了一个连接的lib.js文件和一个缩小的lib.min.js文件。一个用于开发,一个用于生产。 TextMate命令可以自动完成所有操作。
我仍然在寻找一个很好的解决方案来实际(单元)测试我的脚本。
答案 2 :(得分:2)
查看YUI Compressor它的控制台应用程序,您可以使用它来缩小(删除注释,空格等...)并混淆您的javascript文件。
答案 3 :(得分:2)
答案 4 :(得分:2)
FWIW,这是一个有趣的迷你基准,可以通过各种方式最大限度地减少您的Javascript来源:
http://www.ericmmartin.com/comparison-of-javascript-compression-methods/
简而言之:
答案 5 :(得分:1)
对于我们的某个产品,我们将所有Javascript文件连接在一起(大多数文件都在大多数页面上使用,因此这对我们来说很有意义)并使用Javascript::Minifier。这给了我们一个非常好的速度提升。
答案 6 :(得分:1)
很多可能是因为没有关心那些可能在连接速度较慢的较慢机器上查看您的页面并假设每个人都有50Mbps线路和3 GAG RAM的人。
我们正在缩小我们(手写+插件,jQuery等)JS作为.NET环境中构建过程的一部分。没有预处理器,这是我们一旦允许就应该做的事情。
P.S。顺便说一下,我们没有使用console.log,因为这将破坏IE。相反,我们有一个简单的包装函数,如:
function log(stuff) {
if (window.console && window.console.log) {
console.log(stuff);
}
};
答案 7 :(得分:1)
我有一个PHP脚本,它在服务器端执行它,并保留从源文件夹中提取的任何内容的缓存。
答案 8 :(得分:0)
一个字 - packer
答案 9 :(得分:0)
点燃一支蜡烛,对IE6错误低声祈祷,然后点击“开始”。这算数了吗? :)
答案 10 :(得分:0)
我倾向于相信很多javascript-minification(实际上)是为了实现javascript代码的某种(徒劳)混淆而不是宣布的最终用户性能增益。
答案 11 :(得分:0)
还有a .NET port of YUI Compressor允许您: -
答案 12 :(得分:0)
我以为我会分享我对js部署的方法。看看这篇博文: http://www.picnet.com.au/blogs/Guido/post/2009/12/10/Javascript-runtime-compilation-using-AspNet-and-Googles-Closure-Compiler.aspx
这还包括在运行时(使用谷歌的闭包编译器)在需要时编译的代码。
感谢Guido