我有一个javascript构建文件,它是不受限制的;它包含原型类定义。假设每个原型/类定义有一个文件,我是否可以使用任何工具将构建文件分解为单独的文件?
此构建文件如下所示,许多对象以下面的方式定义,所有这些对象都连接到单个文件中。我想把这个文件拆开。我没有对原始源代码的访问权,基本上只是以这个构建文件的形式给了我一个转储,但在这个格式中它是无法管理的,因为它的10k+代码行。
MyClass = function(){
}
MyClass.prototype.foo = function(){
}发布于 2015-10-28 14:45:11
我会以建议的方式(在注释中)手动完成它,但是如果您坚持以某种方式自动化它,您可以始终使用javaScript来完成这项工作。
一种方法是查找构造函数,抛出一个类似于([^\.=\s]+[^=]*=[\s]*function[\s]*[(]+[^)]*[)][\s]*[{]*)的正则表达式,然后提取所有的“class”.原型。从文件中提取一些东西,解析整个文件,然后在执行您喜欢的任何排序之后,将每个组写入单独的文件中。
另一种方法是使用javaScript解析器和分组相关的函数定义,抛出令牌检查(这一方法是过分的,但为了学习目的可能很有趣)。
https://stackoverflow.com/questions/33393169
复制相似问题