原始问题
这也许是个愚蠢的问题,但在VS 2013中有什么方法可以让JavaScript大有可为呢?
只是为了确保我们都在同一页上。
小型化:
var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?"这只是确保我们都知道我在讲什么的一个例子。据我所知,没有办法做到这一点。我只使用VS 2013大约3周,所以可能仍然有一些东西是隐藏在我。
如果在程序中没有办法做到这一点,那么接下来最好的是什么呢?我在另一篇类似的文章中看到了推荐http://jsbeautifier.org/网站的情况,所以可能不得不在之前给出建议,但如果它被内置到VS 2013中,会让生活变得更容易一些。
谢谢,因为我知道有人会在这里帮我的。
更新:
我环顾了一下VS 2013,没有发现任何能帮助我解决这个问题的东西,就像我之前说过的,也许我错过了一些事情(某些设置),所以我想如果在VS中做不到这件事,那么接下来的最佳工作是什么呢?我似乎遇到了相当数量的JS是小型化的,我想要最快和最好的方式来完成这项工作。我尝试过的几个网站似乎都有问题,我是否可以安装一个程序,让我可以用热键或其他东西切断它。那会很方便的。
更新2:
因此,我认为可以肯定地说,这不能在VS2013中完成,或者因为缺少var名称等等而根本无法做到。因此,我看到了一些链接和程序,允许您格式化代码。在VS2013内部有什么方法吗?如果不是的话,我可以使用的最可靠的网站/程序是什么。就像我说的,我看到了答案,我很感激所有的答案。我会把这个问题留一段时间,让更多的人来看,并可能给出一个更好的答案。伙计们,继续!
更新3:
如果任何人有更多的这方面的信息,请分享。我仍然不时地环顾四周,等待着有人为这件事想出令人惊奇的东西。有一天人们..。总有一天!
发布于 2013-09-28 22:51:15
这只是一个单向的转变..。对不起,在正常情况下,您将无法从缩小的JavaScript中得到一些可以理解的东西!
只需快速查看一下JQuery源代码:
(function( window, undefined ) {
// Can't do this because several apps including ASP.NET trace
// the stack via arguments.caller.callee and Firefox dies if
// you try to trace through "use strict" call chains. (#13335)
// Support: Firefox 18+
//"use strict";
var
// The deferred used on DOM ready
readyList,
// A central reference to the root jQuery(document)
rootjQuery,
// Support: IE<10
// For `typeof xmlNode.method` instead of `xmlNode.method !== undefined`
core_strundefined = typeof undefined,
// Use the correct document accordingly with window argument (sandbox)
location = window.location,
document = window.document,
docElem = document.documentElement,
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$,
// [[Class]] -> type pairs
class2type = {},
// List of deleted data cache ids, so we can reuse them
core_deletedIds = [],
core_version = "1.10.2",
------现在在minify源:
(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,
l=e.jQuery,u=e.$,c={},p=[],f="1.10.2", ....我想你现在看到了,=>
window => e
undefined => t
readyList => n
rootjQuery => r
core_strundefined => i
location => o
document => a 所以它被映射成更短的外观这里来缩小人们通常使用的东西,这样就没有办法回头了
你可以把它格式化为看这儿
发布于 2013-09-29 14:41:08
如果代码只被缩小了,那么您可以自动完成的最好的方法是重新格式化,以使其更易读。其中一种方法是使用在线格式化程序/美化器。例如,复制并粘贴您在http://jsbeautifier.org/或http://www.jspretty.com/中发布的代码行,它将产生如下内容:
var flashVer = -1;
if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"]
|| navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? ""但是,当然,他们没有做的是把任何评论,已经删除了,由小型机返回。如果代码也是混淆的,那么它的可读性就会大大降低,因为变量名将发生变化(例如,var a而不是var flashVer)。有关更多细节,请参见这里。
发布于 2013-09-29 22:04:45
正如您从其他答案中可以看到的那样,无法将缩小的Javascript重新构造回原来的形式,这是一种有损压缩。您能做的最好的方法就是通过重新格式化它来使它具有可读性。
如果代码是开源的,那么该代码很可能在某种形式的版本控制站点上以原始状态存在,或者作为zip存在。如果有的话,为什么不直接下载原始版本呢?
https://stackoverflow.com/questions/19031227
复制相似问题