【问题标题】:JSDoc 3.3.3 Unexpected token ILLEGAL on ES6 template string tick markJSDoc 3.3.3 ES6模板字符串刻度线上的意外令牌非法
【发布时间】:2015-10-21 17:23:13
【问题描述】:

在终端中,我运行以下命令:

$ node sample.js
hello, Stephen MC
$ node_modules/.bin/jsdoc --version
JSDoc 3.3.3 (Tue, 22 Sep 2015 23:14:17 GMT)
$ node_modules/.bin/jsdoc -c jsdocConf.json
Parsing /**/sample.js ...ERROR: Unable to parse /**/sample.js: Line 14: Unexpected token ILLEGAL
complete.
Generating output files...complete.
Finished running in 0.29 seconds.

我的 sample.js 文件如下所示:

/** @module myjsdoc/sample */

"use strict";

const me = "Stephen MC";

/** This function logs the parameter.
 * @param {string} param - The string to log.
 */
const myFunc = function ( param ) {
  console.log( param );
};

myFunc( `hello, ${me}` );

我的 jsdoc conf.json 看起来像这样:

{
    "tags": {
        "allowUnknownTags": true,
        "dictionaries": ["jsdoc","closure"]
    },
    "source": {
        "include": [ "./" ],
        "exclude": [ "documentation", "node_modules" ],
        "includePattern": ".+\\.js(doc)?$",
        "excludePattern": "(^|\\/|\\\\)_|.+[Ss]pec\\.js"
    },
    "templates": {
        "cleverLinks": false,
        "monospaceLinks": false
    },
    "opts": {
      "destination": "./documentation/",
      "readme": "./README.md",
      "recurse": true,
      "verbose": true
    }
}

有没有办法配置 jsdoc 3.3.3 来容忍 ES6 模板字符串?也许有一个插件可以工作?

【问题讨论】:

标签: javascript node.js jsdoc jsdoc3


【解决方案1】:

master 分支中的 jsdoc 使用不同的解析器,更好地处理 es6:

npm install git+https://github.com/jsdoc3/jsdoc.git

对我来说很好用,我会在 3.4.0 版发布后切换回来

【讨论】:

  • 很好的答案!没有更多的警告信息,这太棒了。此外,我还学习了如何在 npm 中直接使用 git。我添加了--save-dev,它甚至更好。
【解决方案2】:

通过使用 npm install 安装 esprima 2.6.0 并将该目录从 node_modules/esprima 复制到 node_modules/jsdoc/node_modules/esprima(覆盖过时的 1.2.6 esprima 版本),jsdoc 能够解析 ` 标记,但只发出警告.

我知道从 esprima 的 v1 跳到 v2 是一个重大的变化,但它为我完成了工作。

【讨论】:

    猜你喜欢
    • 2012-08-20
    • 2012-12-31
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    相关资源
    最近更新 更多