如果我的Backbone main.js太大,我该怎么办?

时间:2013-08-25 18:42:11

标签: javascript backbone.js requirejs

我使用require.js(AMD)并将其优化为一个最终的javascript文件(main.js)

我的main.js是半兆字节,它会继续增加。

问题是:当客户端加载我的骨干应用程序时,他们必须首先下载整个半兆字节文件才能浏览该网站。 (路由器包含在文件中)

这通常需要在初始加载前3秒。

我该怎么办?

1 个答案:

答案 0 :(得分:4)

将您的代码拆分为以下类别,并为每个类别使用单独的requirejs模块。

  1. 显示初始应用所需的核心代码
    • 通过您的应用程序大量使用的大多数模块都可以到这里
  2. 可以通过AMD到达后续请求的二级代码
    • 像动画助手这样的东西,只出现在点击上的东西等等
  3. 只在应用角落中需要的任何模块
    • 专业错误处理程序
    • 边缘案例逻辑
    • 路径大多数用户不会通过您的应用(例如电子商务应用中的退款模块)
  4. 通过单一的,希望合理大小的请求,您的应用程序已启动并正常运行。第二个请求需要另外一秒左右才能让你加载98%,如果给定用户需要,则最后2%请求按需刷新。

    Requirejs有通过配置文件执行此操作的工具。只需要进行一些预见和测试,找到适合您特定应用的划分线的正确位置。

    一般提示:考虑较少的大型第三方依赖项。如果您有不同的用户角色,请考虑为管理员使用单独的捆绑包。