当然,bash文件不能真正模糊,并且总是可读的.而且我不想将它们包装在一些二进制包中.重命名局部变量不值得麻烦.
但是有一个可靠的简单bash混淆器或minifier,至少删除所有的缩进,所有空行和所有空格而不破坏任何东西?特别是评论并注释掉了可能包含敏感文档或信息的脚本部分?
我会害怕简单的grep/sed-lines这样做,因为当然不能修改" HEREDOCs ",因此需要进行一些真正的解析.
也许有一个工具可以做到这一点,这将是伟大的!
我已经按照我可以找到的所有说明来修复缩小,例如
var MyController = function(renamed$scope, renamedGreeter) {
...
}
MyController.$inject = ['$scope', 'greeter'];
Run Code Online (Sandbox Code Playgroud)
和
someModule.factory('greeter', ['$window', function(renamed$window) {
...;
}]);
Run Code Online (Sandbox Code Playgroud)
但棱角分明拒绝继续工作.它总是抛出错误"Unknown provider:eProvider"
以下是我试图让它运作的两次尝试......任何人都可以帮忙吗?
https://github.com/jemminger/angular-test1
https://github.com/jemminger/angular-test2
他们已经预先编译了资产并且开发模式被配置为用作生产,因此您应该能够"使用"来查看(不)工作.
我在文件夹层次结构中有100个javascript文件,我想要两组输出.一个是连接版本用于调试目的,另一个是concat + minfy版本.我目前正在使用下面的插件,但在此我需要提供我需要缩小的每个文件.我正在寻找一个只需要父文件夹并满足上述条件的插件.
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7</version>
Run Code Online (Sandbox Code Playgroud) 一个理论问题:
我们都知道缩小和组合javascript文件以减少HTTP请求以加速网站的专业人士.但是当使用流行的javascript库(例如jQuery)时,假设这些库已经从另一个页面下载到客户端计算机并不是太愚蠢.
那么应该更喜欢什么呢? 业内的大家伙如何处理它?
A)将每个脚本组合并缩小为一个大型脚本并从我自己的CDN中提供.
B)将所有"自编"脚本合并到一个文件中,并尽可能利用可用的CDN库.
谢谢!
在Web开发中一起缩小JavaScripts时,从用户加载时间的角度来看,它是否更好:
我对一些数据感兴趣,根据这些数据决定采用哪种策略. 我可以像其他人一样轻松地根据轶事得出结论:-)
我正在寻找围绕我的javascript/css实现一些性能优化.特别是寻求实现这种缩小和组合.我正在使用.net/c #Web应用程序开发.
我有几个选项,并寻找每个方面的反馈:
第一个是我遇到的这个聪明的工具Chirpy通过视觉工作室结合,缩小等 - > http://chirpy.codeplex.com/这是一个视觉工作室添加但是因为我在团队环境中,这个工具不理想.
我的下一个选择是使用Msbuild任务(http://yuicompressor.codeplex.com/)来缩小文件并将它们组合起来(可能从xml文件中读取需要组合的内容).虽然这对缩小罚款很有用,但我所担心的是,我必须保持必须结合的东西,这可能会令人头痛.
第三个选项是使用msbuild任务仅用于缩小,在运行时使用一些帮助程序类,在每页的基础上组合文件.这将合并文件,为其命名并为其添加版本.
我可以考虑其他任何选择吗?我对最后一个选项的关注是它可能有性能问题,因为我必须从本地驱动器打开文件,读取其内容然后合并文件.这在运行时很多处理.我正在寻找类似Squishit的东西 - https://github.com/jetheredge/SquishIt/downloads这会在运行时缩小文件,但我会在编译时看看这样做.
那么对我的方法的任何反馈都会很棒吗?如果第三种选择不会导致性能问题,我就会引领它.
维基百科将缩小定义为......
[...]从源代码中删除所有不必要的字符而不更改其功能的过程.这些不必要的字符通常包括空格字符,换行符,注释,有时还有块分隔符,它们用于为代码添加可读性,但不需要执行.
目前,我正在这样做是为了我的HTML,CSS和Javascript,以节省带宽,但有人告诉我说,他记得有一个浏览器行为异常时,有一定的标签(即之间没有空格ul和li项目).这是真的?
是否有任何值得注意的浏览器,代理或其他用户代理在处理缩小代码时行为不当?
除了在查看源代码时失去可读性之外,缩小还有其他任何缺点吗?
如何缩小ES2015代码而不将其转换为ES5?流行的gulp-minify和gulp-uglify模块不能简单地缩小ES2015代码.
如果我给Closure Compiler这样的话:
window.array = '0123456789'.split('');
Run Code Online (Sandbox Code Playgroud)
它"编译"它:
window.array="0,1,2,3,4,5,6,7,8,9".split(",");
Run Code Online (Sandbox Code Playgroud)
现在你可以说,这更大.Closure Compiler是否有任何理由这样做?
minify ×10
javascript ×7
css ×2
performance ×2
angularjs ×1
assets ×1
bash ×1
c# ×1
ecmascript-6 ×1
gulp ×1
html ×1
http ×1
maven ×1
obfuscation ×1
optimization ×1
production ×1
shell ×1
web ×1