grunt-jsdoc出错记

jsDoc可以为我们的js文件自动生成描述文档,有了grunt后,使用grunt-jsdoc就可以方便的自动化的执行jsDoc功能。

将本地可以运行的grunt配置文件移植到linux服务器上,npm安装依赖包后,执行grunt-jsdoc,却出现了错误,提示:


从提示的信息根本无法发现出问题的所在,只好去查看grunt-jsdoc的grunt-jsdoc / tasks / jsdoc-plugin.js源码,发现输出log的地方是:

 
 
child . on ( 'exit' , function ( code ){
if ( code === 0 ){
grunt . log . write ( 'Documentation generated to ' + path . resolve ( options . destination ));
done ( true );
} else {
grunt . log . error ( 'jsdoc terminated' );
grunt . fail . warn ( 'jsdoc failure' , errorCode . task );
}
});
应该是执行的过程中触发了“exit",任务退出,输出了上面的log信息。
既然如此,只好google了,找到了这个地址:https://github.com/krampstudio/grunt-jsdoc/issues/26,里面提到了如下内容:

那么是不是我的jsdoc也是有这个问题呢?于是试试看:

竟然权限不够,不会吧:

啊偶,竟然没有执行权限(x),好吧,chomod 755 jsdoc,授权后:

既然有了权限,那应该没有问题了,再试试吧。

啊啊,还有问题,应该是jsdoc.js文件中解析"<a href..."时,出错了啊,怎么会这样啊。继续看看jsdoc.js的源码,看看那出的问题。


  
  
try {
     main ();
     env . run . finish = new Date ();
     process . exit ( 0 );
}
catch ( e ) {
     env . run . finish = new Date ();
     if ( e . rhinoException != null ) {
         e . rhinoException . printStackTrace ();
         process . exit ( 1 );
     } else {
         throw e ;
     }
}

哎嗨,是抛出了异常,应该是解析出了问题,源码太多,一时半会也看不完,在Google,找到了这个地址:https://github.com/openlayers/ol3/issues/405,感觉好像是目前用jsdoc3.2.2有问题,可以换成3.1.1的,好吧,都这样了,就试试3.1.1的吧。修改grunt-jsdoc的文件package.json文件:

 
 
  "dependencies" : {
     "lodash" : "~2.4.1" ,
     "jsdoc" : "~3.2.2" ,
     "ink-docstrap" : "~0.2.0-0"
   },
改为:

  
  
"dependencies" : {
     "lodash" : "~2.4.1" ,
     "jsdoc" : "~3.1.1" ,
     "ink-docstrap" : "~0.2.0-0"
   },

然后重新 npm install,安装3.1.1版本的jsdoc,安装完以后找到之前说的那个jsdoc文件,授予可以执行权限,OK,再次执行,终于成功了!!!


总结一下吧,这个过程主要有2个问题:
1.jsdoc3.2.2版本本身有问题,会出现解析错误,换成3.1.1版本;
2.jsdoc文件要有可执行权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值