最近在研究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。
跃ID工具找下载???