JSDoc 3.3.3 ES6 模板字符串刻度标记上的意外令牌 ILLEGAL
JSDoc 3.3.3 Unexpected token ILLEGAL on ES6 template string tick mark
在终端中,我运行执行以下命令:
$ 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 模板字符串吗?也许有一个插件可以工作?
通过使用 npm install 安装 esprima 2.6.0 并将该目录从 node_modules/esprima 复制到 node_modules/jsdoc/node_modules/esprima (覆盖过时的 1.2.6 esprima 版本)jsdoc 是能够通过警告解析 ` 标记。
我知道从 esprima 的 v1 跳到 v2 是一个重大变化,但它帮我完成了工作。
master 分支中的 jsdoc 使用不同的解析器,更好地处理 es6:
npm install git+https://github.com/jsdoc3/jsdoc.git
对我来说效果很好,我会在发布 3.4.0 版时切换回来
在终端中,我运行执行以下命令:
$ 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 模板字符串吗?也许有一个插件可以工作?
通过使用 npm install 安装 esprima 2.6.0 并将该目录从 node_modules/esprima 复制到 node_modules/jsdoc/node_modules/esprima (覆盖过时的 1.2.6 esprima 版本)jsdoc 是能够通过警告解析 ` 标记。
我知道从 esprima 的 v1 跳到 v2 是一个重大变化,但它帮我完成了工作。
master 分支中的 jsdoc 使用不同的解析器,更好地处理 es6:
npm install git+https://github.com/jsdoc3/jsdoc.git
对我来说效果很好,我会在发布 3.4.0 版时切换回来