使用SeaJS,require加载Jquery的时候总是为null

这个问题困扰了我两天,使用别人的例子、官网down下来的example都没有问题。但是放到自己项目里就 var $=require("jquery") 为null。

后来发现,jquery本来没有amd规范的,于是从官网上的example下来里面的jquery拿过来直接用,最注意的是,在jquery里面增加了有define这段,里面有一个路径要根据自己实际项目路径进行调整

if ( typeof module === "object" && module && typeof module.exports === "object" ) {
	// Expose jQuery as module.exports in loaders that implement the Node
	// module pattern (including browserify). Do not create the global, since
	// the user will be storing it themselves locally, and globals are frowned
	// upon in the Node module world.
	module.exports = jQuery;
} else {
	// Otherwise expose jQuery to the global object as usual
	window.jQuery = window.$ = jQuery;

	// Register as a named AMD module, since jQuery can be concatenated with other
	// files that may use define, but not via a proper concatenation script that
	// understands anonymous AMD modules. A named AMD is safest and most robust
	// way to register. Lowercase jquery is used because AMD module names are
	// derived from file names, and jQuery is normally delivered in a lowercase
	// file name. Do this after creating the global so that if an AMD module wants
	// to call noConflict to hide this version of jQuery, it will work.
	if ( typeof define === "function" ) {
		define("lib/jquery/jquery/1.10.1/jquery-debug",[], function () { return jQuery; } );
	}
}

  原文:http://blog.csdn.net/adeyi/article/details/18003043

posted @ 2015-05-11 10:36  淡然_  阅读(372)  评论(0编辑  收藏  举报