JsDoc使用docdash模板生成文档引入外部脚本

1,799 阅读1分钟

       使用JsDoc生成JavaScript文档非常方便,但是原生的JsDoc生成的文档不够美观且功能不够完善,经过比较选择了docdash模板,启用方式非常简单,只需要在JsDoc中设置模板参数即可。

'opts': {
   'template': 'node_modules/docdash',
   ...
}

       docdash比较特殊的一点是支持引入外部文件,对最终生成的页面进行调整,可以是JS文件也可以是CSS文件。

'docdash': {
   'scripts': ['./jsDoc.custom.js'],
   ...
}

       这里的地址可以是绝对路径,docdash将通过script标签进行引用。但是如果我们只想输出一份文档,而不是附在一个工程中一起提供的话,就需要外部文件被拷贝到最终的文档目录中。

      docdash本身并不支持这种做法,但是我们可以借用JsDoc模板设置的功能中的templates.default.staticFiles.include 属性,这个属性本来的含义是提供给模板开发者将自己的静态文件夹拷贝到最终文档中,参见链接。我们可以借用这个属性将文件进行拷贝。

'templates': {
  ...
  'default': {
    'staticFiles': {
     'include': [
       `./dist/direwolf-app/common-assets/js`,
     ],
     'includePattern': /^.*jsDoc\.custom\.js$/,    },
  },
},

    需要注意的是,include 属性仅支持拷贝文件夹,我们需要另外设置includePattern 属性对拷贝的文件进行过滤,如设置当中的仅拷贝以jsDoc.custom.js结尾的文件,就达到了我们的目的。