Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ecmascript 6 JSDoc在具有汇总的.MJS文件中不工作_Ecmascript 6_Jsdoc_Jsdoc3 - Fatal编程技术网

Ecmascript 6 JSDoc在具有汇总的.MJS文件中不工作

Ecmascript 6 JSDoc在具有汇总的.MJS文件中不工作,ecmascript-6,jsdoc,jsdoc3,Ecmascript 6,Jsdoc,Jsdoc3,我有以下几点 /** * Represents a base element * @extends HTMLElement * @constructor */ export class Base extends HTMLElement { ... } 当我跑的时候 jsdoc src/jrg-base-element.mjs 然后我得到 没有要处理的输入文件 我尝试了--debug,得到了 {“env”:{“conf”:{“plugins”:[],“recurseDepth”:10,

我有以下几点

/**
 * Represents a base element
 * @extends HTMLElement
 * @constructor
 */
export class Base extends HTMLElement {
...
}
当我跑的时候

jsdoc src/jrg-base-element.mjs
然后我得到

没有要处理的输入文件

我尝试了
--debug
,得到了

{“env”:{“conf”:{“plugins”:[],“recurseDepth”:10,“source”:{“includePattern”:“+\.js(doc | x)?$”,“excludePattern”:“(^ | \/| \\)”,“sourceType”:“module”,“tags”:{“allowUnknownTags”:true,“dictionaries”:[“jsdoc”,“closure”],“templates”:{“monospaceLinks”:false,“cleverLinks”:false,“default”:“{“outputSourceFiles”:true},”,“opts:”srcjrg,“debug”:true,“destination”:“/out/”,“encoding”:“utf8”}

这似乎接近()但我不知道该怎么办


有什么想法吗?

我自己也试过了:

  • 安装JSDoc:

    npm install -g jsdoc => OK
    
  • 创建一个虚拟文件src/x.js:

    /**
     * Represents a base element
     * @extends HTMLElement
     * @constructor
     */
    function hello () {
      console.log ('Hello world!');
    }
    
  • 运行
    jsdoc src

  • 检查结果(默认目录
    “out/”
    ):

  • 换言之:

    a) 您可以指定JS文件,但通常会指定JS包目录

    b) 默认情况下,JSDoc不识别“.mjs”

    建议:

    指定配置文件,然后编辑
    源。includePatter=n

    指定输入文件

    选项的源集合,以及上提供给JSDoc的路径 命令行确定JSDoc用于 生成文档

    {
        "source": {
            "include": [ /* array of paths to files to generate documentation for */ ],
            "exclude": [ /* array of paths to exclude */ ],
            "includePattern": ".+\\.js(doc|x)?$",
            "excludePattern": "(^|\\/|\\\\)_"
        }
    }
    
    • source.include:一个可选的路径数组,其中包含JSDoc应该为其生成文档的文件。上指定给JSDoc的路径 命令行与这些路径组合在一起。你可以用-r 递归到子目录的命令行选项
    • source.exclude:JSDoc应该忽略的可选路径数组。在JSDoc 3.3.0及更高版本中,此数组可能包括 source.include中的路径
    • source.includePattern:可选字符串,解释为正则表达式。如果存在,则所有文件名必须与此规则匹配 要由JSDoc处理的表达式。默认情况下,此选项设置为 “+.js(doc | x)?$”,这意味着只有扩展名为.js的文件, .jsdoc和.jsx将被处理
    • source.excludePattern:可选字符串,解释为正则表达式。如果存在,则为与此正则表达式匹配的任何文件 将被忽略。默认情况下,此选项设置为使文件 以下划线开头(或目录下以 带下划线的)将被忽略

    祝你好运-请把你找到的东西发回来

    这种模式似乎奏效了。。。“source”:{“includePattern”:“+\\(m | c)js(doc | x)?$”}对我来说,考虑到.CJS和.MJS现在是标准的和建议的约定,这是一个bug。我将在JSDoc中打开一个问题。如果您觉得它有用,请考虑支持和/或“接受”。附:关于.mjs文件主题的好链接: