身为SeaJS菜鸟的我今天又碰到问题了,还好"谷人希",做个记录防止大家也碰到.

自己开发的一个小项目今天遇到一个问题:

每次打开这个使用SeaJS的页面或者每次跳转到这个使用了SeaJS的页面的时候,总会报错说jQuery没有定义(即 Uncaught ReferenceError: jQuery is not defined).

我打开开发者工具看到jQuery是有加载进来的,但是每次加载进来的时候jQuery文件的顺序不一样,有时会先出现有时最后才出现.这就是导致报错的根本原因了.

https://github.com/seajs/seajs/issues/286

官方的解释是: 直接调用 jQuery 插件等非标准模块需要先暴露出来,也就是需要先加载进来.

其实SeaJS的demo里有给我们打包好经过CMD处理后的jQuery.而我自己使用的小项目是从jQuery官网down下来的.所以需要预先加载(以下引用自玉伯的官方介绍):

// 配置 jquery 并放入预加载项中
seajs.config({
  alias: {
    'jquery': 'https://a.alipayobjects.com/static/arale/jquery/1.7.2/jquery.js'
  },
  preload: ["jquery"]
})

// 将 jQuery 暴露到全局
seajs.modify('jquery', function(require, exports) {
  window.jQuery = window.$ = exports
})

其实我这里只需要在配置文件里的别名设置下面加上preload即可:

preload: ["jquery"]

好好学习天天向上~

 

 

 

 

相关文章:

  • 2021-07-02
  • 2021-07-31
  • 2021-09-26
  • 2021-05-26
  • 2022-12-23
  • 2022-12-23
  • 2021-07-15
  • 2022-01-14
猜你喜欢
  • 2021-10-24
  • 2022-12-23
  • 2021-10-19
  • 2021-12-12
  • 2021-12-17
  • 2022-12-23
  • 2021-06-25
相关资源
相似解决方案