使用grunt requirejs加载与单个大型缩小文件的慢速连接问题

时间:2014-12-11 05:28:49

标签: javascript performance requirejs gruntjs grunt-contrib-requirejs

我的网站上有大量的js文件,使用grunt-requirejs插件进行缩小和uglification会产生一个大小为1.6 MB的文件。在慢速互联网连接上加载此文件会产生requiejs超时错误。

  

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

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

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

如何删除此加载问题? 是否可以将代码缩小和uglify到不同的模块中,以便可以分解一个大文件?

1 个答案:

答案 0 :(得分:1)

reuirejs configs中有一个属性:

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

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

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

否则最后你可以在require.js文件中覆盖。