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框架实现可爱的卡通人物动画返回顶部代码
jquery配合seajs框架实现返回顶部特效.zip
主要介绍了seajs加载jquery时提示$ is not a function该怎么解决的相关资料,需要的朋友可以参考下
本文实例讲述了seajs模块压缩问题与解决方法。分享给大家供大家参考,具体如下: 在优化整理项目代码时,想使用seajs来把代码模块化。看了下官方5分钟上手教程,觉得很不错,也没多想就一直开发下去了,也没出什么...
widget seajs + jquery 简单的widget开发
相关seajs简介,插件制作及js源码插件、jquery插件转换seajs插件的方法等
主要介绍了seajs下require书写约定,结合实例形式分析了seajs中require书写约定遵循的规则,需要的朋友可以参考下
调用方法:这样引进就可以像以前一样使用jquery 代码如下:define(function (require, exports, module) { var $ = require(‘./js/jquery’); // $(document).ready(function () { // $(“tr”).
SeaJS是一个遵循 CommonJS 规范的模块加载框架,可用来...SeaJS接口和方法也非常少,SeaJS 就两个核心:模块定义和模块的加载及依赖关系。本文将详细介绍模块的依赖加载及模块API的导出,有需要的朋友们可以参考借鉴。
SeaJS Web 端的js 模块加载器
seajs-2.3.0.zip
knockout seajs .net中实战应用
这是自己编写的模仿seajs模块加载的模块加载器,用于学习交流之用。大致模仿seajs的模块化加载实现。
自己在公司需要使用seajs,就学习了seajs写了个手册和demo,欢迎阅读。
seajs-2.2.0源码
seajs源码
开始学习seajs,模块化的js思想。SeaJS是一个遵循CommonJS规范的JavaScript模块加载框架,可以实现...与jQuery等JavaScript框架不同,SeaJS不会扩展封装语言特性,而只是实现JavaScript的模块化及按模块加载。