需要间歇性地覆盖路径

时间:2016-05-02 05:02:12

标签: requirejs

我在Requirejs配置中配置了把手和下划线的路径,如下所示:

require.config({
  baseUrl:          '/js/',
  paths: {

    /* Core Libraries */

    underscore :      'libs/underscore/underscore-min',
    backbone :        'libs/backbone/backbone-min',
    handlebars:       'libs/handlebars/handlebars.min'
  }

这是我初始化requirejs的方式:

<script type="text/javascript" data-main="/js/main" src="/js/libs/require/require.js"></script>

当我多次刷新页面时,收到一条错误消息: 未捕获错误:“把手”的脚本错误。 深入挖掘,我可以在Chrome开发工具的网络选项卡中看到它基本上是模块中找不到的404: 找不到404 - http://localhost:8888/js/underscore.js 上面的路径不是require.config中配置的路径。 我无法确切地指出问题,因为这只是间歇性地发生。 任何帮助深表感谢。 谢谢。

1 个答案:

答案 0 :(得分:-1)

Backbone.js需要underscore.js所以如果多次刷新页面,库可能无法加载正确的顺序 请尝试下面的垫片配置;

require.config({
   baseUrl:'js',
   paths: {

   /* Core Libraries */

   underscore :      'libs/underscore/underscore-min',
   backbone :        'libs/backbone/backbone-min',
   handlebars:       'libs/handlebars/handlebars.min'
  },
  shim:{
   'backbone': {
     deps: ['underscore']
   }
  }
}