各位:
最近在研究seajs的spm的打包压缩工具,spm版本是2.2.12,
使用spm build命令之后,生成dist中的压缩文件main.js的module ID既然是【undefinedmain】,如:
define("undefinedmain",["./queryRandom","./flbox","./elementCreate","./ajax","./overlay"],func……
package.json:
{ "family": "demo", "root": "hellospm", "version": "0.0.1", "author": "lhyin<lhyin@gmail.com>", "contributors" : ["lhyin<lhyin@gmail.com>"], "spm": { "output": ["main.js"], "alias":{ } } }
代码架构:
问题找到了,是package.json的问题,合并压缩后的module ID是:family+name+version 组成的字符串,有一个为空或者不设置就会出现undefined的情况,这一点真的很烂,如果压缩后的文件直接放在根目录下dist中,就会出现文件找不到的情况,还必须手动修改一下该路径。虽然在paxkage.json中通过设置output,可以自定义压缩后输出的文件路径,但是生成的压缩文件中没有内容,我也是醉了。网上也没有资料。
总结:
通过设置 family+name+version 字段可以解决moduleID为undifined的问题,但是三者缺一不可,不清楚在哪里配置可以允许其中一项为空而不出现undifined。
该问题并没有完全解决,有待大神继续帮忙……