首页新闻找找看学习计划

seajs打包压缩工具spm问题:module ID错误

0
悬赏园豆:10 [已解决问题] 解决于 2017-01-23 15:41

各位:

最近在研究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":{
        }
      }
}

代码架构:

Alec-Yin的主页 Alec-Yin | 初学一级 | 园豆:188
提问于:2015-11-19 14:31
< >
分享
最佳答案
0

问题找到了,是package.json的问题,合并压缩后的module ID是:family+name+version 组成的字符串,有一个为空或者不设置就会出现undefined的情况,这一点真的很烂,如果压缩后的文件直接放在根目录下dist中,就会出现文件找不到的情况,还必须手动修改一下该路径。虽然在paxkage.json中通过设置output,可以自定义压缩后输出的文件路径,但是生成的压缩文件中没有内容,我也是醉了。网上也没有资料。

总结:

通过设置 family+name+version 字段可以解决moduleID为undifined的问题,但是三者缺一不可,不清楚在哪里配置可以允许其中一项为空而不出现undifined。

该问题并没有完全解决,有待大神继续帮忙……

Alec-Yin | 初学一级 |园豆:188 | 2015-11-20 10:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册