如果我的Backbone main.js太大,我该怎么办
What can I do if my Backbone main.js is too big?
我使用require.js(AMD)并将其优化为一个最终的javascript文件(main.js)
我的main.js是半兆字节,而且它还会继续增加。
问题是:当客户端加载我的主干应用程序时,他们必须首先下载整个半兆字节的文件,然后才能浏览网站。(路由器包含在文件中)
通常,这可能需要在初始加载前3秒钟。
我能做什么?
将代码分为以下类别,并分别使用requirejs模块。
- 显示初始应用程序所需的核心代码
- 通过应用程序大量使用的大多数模块都可以转到此处
- 可以通过AMD在后续请求中到达的辅助代码
- 诸如动画辅助对象、仅在单击时显示的内容等
- 只在应用程序的角落里需要的任何模块
- 专业错误处理程序
- 边缘事例逻辑
- 大多数用户不会通过你的应用程序的路径(比如电子商务应用程序中的退款模块)
这样,只要有一个大小合理的请求,你的应用程序就会启动并运行。第二个请求需要一秒钟左右的时间才能加载98%,如果某个用户需要,最后2%的请求会按需提供。
Requirejs具有通过配置文件实现这一点的功能。它只需要一些预先考虑和测试,就可以找到合适的地方来为您的特定应用程序划分界限。
一般提示:考虑较少的大型第三方依赖关系。如果您有不同的用户角色,请考虑为管理员提供单独的捆绑包。
相关文章:
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 我做了一个jquery幻灯片,但没有;我工作不好,我该怎么办
- JavaScript中的OOP太令人困惑了,ES6很棒,但没有得到很好的支持,该怎么办
- Webkit转换没有'不起作用,我该怎么办
- jQuery 源文件一起运行;我该怎么办
- 引号中的引号太多 -- 该怎么办
- 如果未配置闪存,我该怎么办,那么在自动捕获图像上应该有一些错误消息
- PHP 当文件太大时,我如何获取文件名
- phonegap&科多瓦——这些文件已经过时了,我该怎么办
- 如果我的Backbone main.js太大,我该怎么办
- 我没有'我不知道为什么;在我的例子中,JS和Go在性能上没有太大的区别
- 当我在谷歌地图中缩小时,我的符号的大小变得太大了
- unsafeWindow不再工作——我该怎么办
- 循环中的异步函数运行速度太慢.我该如何提高表现
- 这个Javascript代码广告使我的php页面空白,我该怎么办
- 当我们双击输入字段时,我不希望输入字段显示已经输入的数据.我该怎么办呢?
- 当我使用的TypeScript定义文件缺少一个定义时,我该怎么办?
- 如果“需求”没有定义,我该怎么办?编译后的TypeScript错误
- 添加新输入后不是工作类.numeric.我该怎么办?
- jquery转换在父级以下失败.为什么?我该怎么办