seajs 2.0 加载 类模块失败

131 views
Skip to first unread message

Michael Chow

unread,
Jun 8, 2013, 1:55:37 AM6/8/13
to se...@googlegroups.com
之前用的1.3.1版本,使用正常,现在切换到2.0后,require文件后能正常下载js文件,但无法加载返回的对象,即var $ = require('jquery');返回的$为null,接下来就报Uncaught TypeError: object is not a function错了。但var math = require('./math')这样返回的业务对象没有问题,可以正确加载使用。请指点一二,谢谢。

葛亮

unread,
Jun 8, 2013, 2:07:57 AM6/8/13
to se...@googlegroups.com
你用最新版的 spm 安装一下 jquery 试试,估计是好的
十有八九跟 firstModuleInPkg 规则修改有关系


2013/6/8 Michael Chow <zmj...@gmail.com>
之前用的1.3.1版本,使用正常,现在切换到2.0后,require文件后能正常下载js文件,但无法加载返回的对象,即var $ = require('jquery');返回的$为null,接下来就报Uncaught TypeError: object is not a function错了。但var math = require('./math')这样返回的业务对象没有问题,可以正确加载使用。请指点一二,谢谢。

--
You received this message because you are subscribed to the Google Groups "seajs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seajs+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Michael Chow

unread,
Jun 8, 2013, 4:14:52 AM6/8/13
to se...@googlegroups.com
谢谢回复。确实可能是firstModuleInPkg 规则问题,但重新安装没有作用,我没有使用shim插件,直接用的spm上封装过的ucloud/jquery,另外,require('backbone')和require('underscore')同样返回null。(都是spm上安装的最新版)。对此有好的解决方案吗?

在 2013年6月8日星期六UTC+8下午1时55分37秒,Michael Chow写道:

葛亮

unread,
Jun 8, 2013, 9:32:08 AM6/8/13
to se...@googlegroups.com
firstModuleInPkg 就是说你的模块ID跟实际URL不符的时候会返回null,你是不是安装下来以后移动过位置?


--

Frank Wang

unread,
Jun 8, 2013, 9:27:09 PM6/8/13
to seajs
位置不匹配,可以控制台里将 seajs.cache 打出来看一下
--
王保平 / 玉伯(射雕)
送人玫瑰手有余香

Michael Chow

unread,
Jun 8, 2013, 11:27:54 PM6/8/13
to se...@googlegroups.com
debug发现了问题。确实是这个路径问题。spm下载的库文件没做任何改动,路径也保持原有,但是设置了base路径为根目录,而库文件都在sea-modules下,配置别名实际上配置的"sea-modules/gallery/backbone/1.0.0/backbone"类似这样。下载js文件的时候根据这个路径找到了文件,但加载的时候却是加载的base path + 'gallery/backbone/1.0.0/backbone',导致不能正确加载。多谢二位的回复!

在 2013年6月8日星期六UTC+8下午1时55分37秒,Michael Chow写道:
Reply all
Reply to author
Forward
0 new messages