如何在不修改的情况下封装(和命名空间)现有的大javascript文件?

罗兹博里斯

抽象的

我有一个巨大的JS文件,其中包含旧样式的函数和变量定义:它将所有内容放入全局范围。我希望能够在“名称空间”中“导入”该文件,以便全局范围保持整洁。

细节

“巨大文件”是由WSDL2JS工具从Apache CXF生成的Web服务客户端。它会将数百个函数和变量置于全局范围内,在pastebin上有该文件的一小部分示例我想继续使用该工具,但将生成的JS保留在某种命名空间或单独的范围内。是否可以使用某些工具或最少的人工干预?

样本

这是来自WSDL2JS的包装在实际上不起作用的自调用函数中的代码。可以在http://jsfiddle.net/rozboris/26t5nwmx/上进行测试和编辑

var testModule = (function(){
  //here starts the generated code that I don't want to touch
  function priv(){
    console.log('called private function');
  }

  function proto(){
    this.something = 'hello';
  }

  priv.prototype = new proto;
  //here ends the generated code that I don't want to touch

  return {
    priv: priv
  }

})();

testModule.priv.something; //undefined

附带问题

是否有更好的工具来使用JS(在浏览器中)基于wsdl的Web服务?Apache CXF是否可以替代WSDL2JS?

提前致谢。

区别

您是否需要从外部调用其功能?如果没有,那么只需将现有代码包含在立即求值的函数表达式中即可

(function(){
    //code goes here
}());

并在每个全局声明的前面添加“ var”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不修改现有 rpm 的规范文件的情况下使现有的 rpm 过时新的 rpm

来自分类Dev

如何在不修改子类的情况下增加对现有子类中方法调用的控制?

来自分类Dev

如何在不修改子类的情况下增加对现有子类中方法调用的控制?

来自分类Dev

如何在不修改实际文件的情况下使用“文件”读取?

来自分类Dev

如何在不修改显示的URL和触发CSS动画的情况下跟踪链接?

来自分类Dev

如何在不违反封装的情况下合法地访问和修改私有字段矢量和映射?

来自分类Dev

如何在不修改makefile的情况下让gmake输出所有命令的返回码

来自分类Dev

如何在不修改特定类的情况下扩展具有功能的Scala类?

来自分类Dev

如何在没有命名空间的情况下从 JavaScript 调用 Rust 函数?

来自分类Dev

如何在不修改太多代码的情况下专门化名称空间的类并使用它?

来自分类Dev

如何在不修改目录的修改时间戳的情况下将文件添加到目录?

来自分类Dev

如何在不输入y的情况下使用ssh-keygen和PowerShell覆盖现有的SSH密钥文件

来自分类Dev

如何在不修改主机文件的情况下临时在本地将example.com设置为解析为127.0.0.1

来自分类Dev

如何在不修改外部应用程序的情况下修改网页?

来自分类Dev

Javascript - 如何在不修改另一个列表的情况下更改一个列表

来自分类Dev

如何强制wget在不修改系统文件的情况下使用代理服务器?

来自分类Dev

如何强制wget在不修改系统文件的情况下使用代理服务器?

来自分类Dev

如何在不修改原始框架的情况下扩展外部框架的d.ts(jQuery)?

来自分类Dev

如何在不修改pom本身的情况下跳过maven构建步骤?

来自分类Dev

如何在不修改用户代码的情况下使使用cProfiler分析的代码超时?

来自分类Dev

mysqli-如何在不修改结果集的情况下获取行?

来自分类Dev

如何在不修改样式的情况下将内容插入到元素的末尾?

来自分类Dev

如何在不修改uml图的情况下实现向对象添加价格

来自分类Dev

如何在不修改基础界面的情况下以叠加样式创建内部框架?

来自分类Dev

如何在不修改原始代码的情况下忽略关闭标签?

来自分类Dev

如何在不修改HTML内容的情况下加载和解析HTML

来自分类Dev

如何在不修改Windows的情况下连接到Windows无密码共享?

来自分类Dev

如何在不修改指针的情况下递归地反转单个链接列表?

来自分类Dev

如何在不修改第一个变量的情况下使用Fluent

Related 相关文章

  1. 1

    如何在不修改现有 rpm 的规范文件的情况下使现有的 rpm 过时新的 rpm

  2. 2

    如何在不修改子类的情况下增加对现有子类中方法调用的控制?

  3. 3

    如何在不修改子类的情况下增加对现有子类中方法调用的控制?

  4. 4

    如何在不修改实际文件的情况下使用“文件”读取?

  5. 5

    如何在不修改显示的URL和触发CSS动画的情况下跟踪链接?

  6. 6

    如何在不违反封装的情况下合法地访问和修改私有字段矢量和映射?

  7. 7

    如何在不修改makefile的情况下让gmake输出所有命令的返回码

  8. 8

    如何在不修改特定类的情况下扩展具有功能的Scala类?

  9. 9

    如何在没有命名空间的情况下从 JavaScript 调用 Rust 函数?

  10. 10

    如何在不修改太多代码的情况下专门化名称空间的类并使用它?

  11. 11

    如何在不修改目录的修改时间戳的情况下将文件添加到目录?

  12. 12

    如何在不输入y的情况下使用ssh-keygen和PowerShell覆盖现有的SSH密钥文件

  13. 13

    如何在不修改主机文件的情况下临时在本地将example.com设置为解析为127.0.0.1

  14. 14

    如何在不修改外部应用程序的情况下修改网页?

  15. 15

    Javascript - 如何在不修改另一个列表的情况下更改一个列表

  16. 16

    如何强制wget在不修改系统文件的情况下使用代理服务器?

  17. 17

    如何强制wget在不修改系统文件的情况下使用代理服务器?

  18. 18

    如何在不修改原始框架的情况下扩展外部框架的d.ts(jQuery)?

  19. 19

    如何在不修改pom本身的情况下跳过maven构建步骤?

  20. 20

    如何在不修改用户代码的情况下使使用cProfiler分析的代码超时?

  21. 21

    mysqli-如何在不修改结果集的情况下获取行?

  22. 22

    如何在不修改样式的情况下将内容插入到元素的末尾?

  23. 23

    如何在不修改uml图的情况下实现向对象添加价格

  24. 24

    如何在不修改基础界面的情况下以叠加样式创建内部框架?

  25. 25

    如何在不修改原始代码的情况下忽略关闭标签?

  26. 26

    如何在不修改HTML内容的情况下加载和解析HTML

  27. 27

    如何在不修改Windows的情况下连接到Windows无密码共享?

  28. 28

    如何在不修改指针的情况下递归地反转单个链接列表?

  29. 29

    如何在不修改第一个变量的情况下使用Fluent

热门标签

归档