`
heicx_sudo
  • 浏览: 7004 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

seajs require("jquery")返回null解决方法

 
阅读更多

    seajs.use 某具名模块时发现其引用为 null 的问题,或是移动了文件位置导致引用为 null 或者 object is not function 的问题。这些问题都指向 Sea.js 的一个基本约定原则:ID 和路径匹配原则。

    使用 seajs.use 或 require 进行引用的文件,如果是具名模块(即定义了 ID 的模块),会把 ID 和 seajs.use 的路径名进行匹配,如果一致,则正确执行模块返回结果。反之,则返回 null。

 

首先可以先参考这个issue:https://github.com/seajs/seajs/issues/962

 

由于在 Sea.js 中,所有 JavaScript 模块都遵循 CMD(Common Module Definition) 模块定义规范。该规范明确了模块的基本书写格式和基本交互规则。

jQuery 1.7开始支持AMD规范,可以和遵循AMD规范的脚本加载器协作,比如RequireJS或者curl.js。

 

所以需要调整JQuery源码,如下:

 

//old
if ( typeof define === "function" && define.amd && define.amd.jQuery ) {
    define( "jquery", [], function () { return jQuery; } );
}

//new
if ( typeof define === "function" && define.cmd && define.cmd.jQuery ) {
    define( "jquery", [], function () { return jQuery; } );
}

 

分享到:
评论

相关推荐

    seajs jquery框架实现可爱的卡通人物动画返回顶部代码

    在本文中,我们将深入探讨...3. **SeaJS 加载 jQuery**:在页面头部引入SeaJS,然后使用SeaJS的`seajs.use`方法加载jQuery库。如果已经有一个全局的jQuery实例,可以直接使用,否则需要配置路径来加载jQuery: ```html ...

    jquery配合seajs框架实现返回顶部特效.zip

    在本项目"jquery配合seajs框架实现返回顶部特效"中,开发者结合了这两种框架来创建一个实用的用户体验功能,即页面滚动时显示并点击后返回顶部的特效。以下是对这个项目的详细解析: **jQuery** jQuery 是一个广泛...

    把jQuery的类、插件封装成seajs的模块的方法

    调用方法:这样引进就可以像以前一样使用jquery 代码如下:define(function (require, exports, module) { var $ = require(‘./js/jquery’);   // $(document).ready(function () { // $(“tr”).

    seajs相关模板

    Seajs是中国开源社区发展出来的一款模块化加载器,它的出现是为了应对JavaScript在浏览器环境中缺乏一个标准的模块化解决方案的问题。Seajs的设计理念是基于CMD(Common Module Definition)规范,它鼓励开发者采用...

    seajs模块压缩问题与解决方法实例分析

    本文实例讲述了seajs模块压缩问题与解决方法。分享给大家供大家参考,具体如下: 在优化整理项目代码时,想使用seajs来把代码模块化。看了下官方5分钟上手教程,觉得很不错,也没多想就一直开发下去了,也没出什么...

    mohe-widget:seajs + jquery 简单的widget开发

    本项目“mohe-widget”聚焦于使用SeaJS和jQuery进行简单的Widget开发,这是一套结合了两种强大工具的JavaScript实现。接下来,我们将深入探讨SeaJS、jQuery以及如何利用它们构建Widget。 **SeaJS** 是一个用于...

    seajs加载jquery时提示$ is not a function该怎么解决

    这样修改后,Sea.js能够正确地定义并返回jQuery模块,而不会出现错误提示。 请注意,在进行上述代码修改时,要注意保留原有的AMD风格的加载逻辑,以保证在其他支持AMD规范的加载器(如RequireJS)中,jQuery依然...

    seajs官方小实例

    Seajs 的核心理念是通过模块化解决 JavaScript 开发中的依赖管理问题,使得代码组织更加有序。 ### Seajs 的基本使用 Seajs 的使用主要包括配置、模块定义和模块引用。在浏览器中,我们通常会通过 `<script>` 标签...

    seajs-5分钟上手

    总结,Seajs是一个优秀的JavaScript模块化解决方案,通过它可以轻松地实现模块化的开发,提升代码质量,简化项目管理。只需要短短的5分钟,你就能领略到Seajs的魅力,并开始使用它来优化你的前端开发流程。

    seajs下载以及规范

    Seajs的核心理念是让JavaScript模块化变得简单,帮助开发者解决在大型Web项目中代码组织、依赖管理以及加载性能等问题。 ## Seajs的下载与安装 要在项目中使用Seajs,首先需要从官方网站或者其他可靠的源获取最新...

    SeaJS快速入门,让js代码模块化 - 2011-09-09修订,新添参考资料

    此外,通过插件机制,SeaJS 还可以支持 CommonJS 规范的模块,如 require.js 和 browserify 的模块。 **参考资料** 1. 博文链接:[《SeaJS 快速入门》](https://witcheryne.iteye.com/blog/1166331) 2. SeaJS 官方...

    seajs-2.3.0.zip

    1. **模块化**:Seajs遵循CommonJS规范,通过`require`引入模块,`exports`导出模块,实现了JavaScript代码的模块化,使得开发者可以按需加载不同的功能,降低了代码之间的耦合度。 2. **异步加载**:与服务器端的...

    seajs学习之模块的依赖加载及模块API的导出

    SeaJS 提供了 `seajs.use` 和 `seajs.require` 方法来加载和引用模块。`seajs.use` 用于加载模块,并在所有模块加载完成后执行回调函数,而 `seajs.require` 主要用于在模块内部引用其他模块。例如,`seajs.use('...

    seajs js 模块加载器

    在使用SeaJS时,你需要为每个模块定义一个标识(通常是文件路径),并通过`seajs.use`方法来加载模块。模块内部可以通过`define`函数来定义其依赖和其他模块的关系。例如: ```javascript // 定义模块 seajs.use('....

    seajs-2.2.3

    Seajs 在JavaScript社区中扮演着重要的角色,尤其在那些倾向于在浏览器端进行模块化开发的项目中,它提供了类似于 CommonJS 的模块化解决方案。 Seajs的核心功能在于它的模块加载机制,它支持 CMD (Common Module ...

    seajs入门完整案例,适合新手学习

    10. **与现有库的兼容**:Seajs 可以与 jQuery、React 等流行库无缝配合,无需担心命名冲突问题,实现模块化与现有生态的融合。 在用户Example01中,你可能会看到一个简单的 Seajs 应用实例,包括配置文件、模块...

    seaJS框架简介和完整例子

    `use`方法会加载指定的模块并执行回调函数,而`require`方法仅加载模块,不执行任何操作。 3. **解析**:SeaJS解析模块路径,根据配置的路径映射找到实际的模块文件。 4. **异步请求**:发起HTTP请求获取模块文件...

Global site tag (gtag.js) - Google Analytics