代码之家  ›  专栏  ›  技术社区  ›  Drew

处理大型JavaScript应用程序

  •  7
  • Drew  · 技术社区  · 16 年前

    我们的文件结构非常好,在不同的文件夹中组织功能。我的问题是,其他人如何处理超过500个javascript文件的应用程序。

    我们编写了一个maven插件来将这些文件连接在一起(也运行yui compressor)。但是,这需要为每次更改编译3-10秒。

    这一步对于大型应用程序的组织是必要的吗?我觉得一个结构良好的HTML文件拉入所有这些资源每天可以节省45分钟。

    3 回复  |  直到 16 年前
        1
  •  1
  •   Steve    16 年前

    为了我自己 framework projects 我的方法通常是监视、测试或在页面服务中协调其他工具包(但不比文件计数高),我的方法是在开发期间针对单个和动态加载的文件。对于测试,我将运行一个构建来压缩和版本化单个文件,并再次测试单个文件,因为根据连接顺序、压缩技术和浏览器,我可能最终会遇到脚本错误,从一个怪物文件中挖掘它是一件痛苦的事。第三,我将连接在一起并再次测试。

    在HTML引用中,我要么以加载指定依赖项的未压缩文件为目标,要么以复合文件为目标。单独的引导文件命名依赖项,这些依赖项要么包含在复合文件中,要么根据需要动态加载。

    通过这种方式,我可以添加或更改一个文件,并在不重新构建的情况下开始开发和测试。

        2
  •  0
  •   Ryan Kinal    16 年前

    该解决方案可能只针对用户测试和生产连接和压缩。

    对于开发,最好将它们全部导入HTML文件。它加快了开发过程,也简化了调试。它还允许浏览器缓存其中的一些文件。

    当您不能依赖缓存的副本(我认为有500个文件的缓存副本不会经常使用)时,它会降低加载时间。

        3
  •  0
  •   Russell Leggett    16 年前

    只有在生产中运行压缩机,可能会节省很多时间。YUI压缩器是众所周知的慢,因为它使用Java Ryo解释器来实际解析JavaScript并分析它。