0

我的网站中有大量 js 文件,在使用 grunt-requirejs 插件进行缩小和丑化时,会提供大小为 1.6 MB 的单个文件。在慢速 Internet 连接上加载此文件会导致 requiejs 超时错误。

未捕获的错误:模块的加载超时:2dc6219f.main http://requirejs.org/docs/errors.html#timeout

我使用 chrome 开发工具检查了源文件,发现源文件与我的原始文件大小相同,但是当我继续使用门户时,我的两个模块仍然无法工作。

我尝试删除这两个模块并再次检查它,但我仍然收到加载错误,但是我的其他模块都没有因此受到影响并且一切正常。

我怎样才能消除这个加载问题?是否可以将代码缩小和丑化到不同的模块中,以便可以分解一个大文件?

4

1 回答 1

1

reuirejs 配置中有一个属性可用:

waitSeconds:定义模块的加载时间。根据依赖项的复杂性和所涉及库的大小,可能需要增加等待间隔。默认值为 7 秒。将该值设置为 0 将禁用等待间隔。

如果您使用的是 grunt,那么您可以在 reuirejs 任务中提及waitSeconds

requirejs: {
        dist: {
            options: {
                baseUrl: '<%= yeoman.app %>/scripts',
                paths: {...},
                waitSeconds: 20000
        }
}

否则最后你可以覆盖你的 require.js 文件本身。

于 2014-12-11T09:53:31.263 回答