【问题标题】:Extract individual javascript file code from minified file从缩小文件中提取单个 javascript 文件代码
【发布时间】:2016-03-16 14:02:59
【问题描述】:

我有一个 .js 文件列表,并且我有一个带有源映射的文件的单个缩小版本。已使用 UglifyJS 创建了缩小文件

是否可以从压缩文件中提取单个 js 文件的代码?也许通过阅读源地图?

例如:

original files:
1)head.js
2)tail.js
3)stomach.js
4)liver.js

minified file (containing code of all of above files):
-> body.min.js

source map:
-> body.min.js.map

是否可以从body.min.js中提取出ghost.js的缩小代码(字符串)?

【问题讨论】:

  • 这是一个有趣的问题。你能提供一点背景吗?你害怕别人会对你的代码进行逆向工程吗?您是否要对他人的代码进行逆向工程?您是否丢失了原始文件并试图从缩小版本中恢复它们?
  • 基本上我想在运行时生成一些代码。最终代码可能不包括所有文件中的代码。而且我还想避免运行最终代码的缩小
  • 那为什么首先要合并文件呢?我认为提取代码比缩小代码要昂贵得多。如果您单独缩小每个文件,那不是两全其美吗?您可以根据需要进行组合,而无需在运行时缩小。

标签: javascript node.js source-maps uglifyjs2


【解决方案1】:

此脚本将扩展缩小的源(通过给定源映射),并重新创建所有文件;基本上反映了原始源代码库。这是你需要的吗?又快又脏,但可能会奏效。 (仅针对源自 webpack 的 sourcemap 进行测试)

https://gist.github.com/hooptie45/6f9a7e6251a120c8d2d04e75f9d73c0e#file-sourcemap-extract-rb

$ ./sourcemap-extract.rb site.com/assets/app.min.js.map ./tmp

【讨论】:

  • 这是一件美好的事情,谢谢!帮助挽救了一个失败的项目,该项目没有从原始团队交出源代码,这使我们恢复了原始代码的 95%。
猜你喜欢
  • 1970-01-01
  • 2011-01-11
  • 2013-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 2016-03-18
相关资源
最近更新 更多