static class 属性 不支持 Babel
static class property not working with Babel
我正在使用 JSDOC 及其所有支持的 npm 插件来创建漂亮的文档。当 jsdoc 为 运行 并解析 JSX 文件时遇到困难,它总是在 =
符号
附近抛出如下错误
SyntaxError: unknown: Unexpected token
export default class SaveDesign extends Component {
static displayName = 'SaveDesign';
}
conf.json 文件
{
"source": {
"include": [ "src/app/test.js", "src/app/components/Modals/Template/SaveDesign.jsx"],
"exclude": [ "src/fonts", "src/icons", "src/less", "src/vector-icon" ],
"includePattern": ".+\.js(doc|x)?$",
"excludePattern": "(^|\/|\\)_"
},
"plugins": ["node_modules/jsdoc-babel"],
"babel": {
"extensions": ["js", "es6", "jsx"],
"presets": ["es2015"]
},
"jsx": {
"extensions": ["js", "jsx"]
}
}
Class 属性不是 ES2015 规范的一部分,因此它们也不是 ES2015 Babel 预设的一部分。 The proposal to add class properties to the language 目前处于标准化过程的第 3 阶段,因此您需要第 3 阶段预设。
https://babeljs.io/docs/plugins/preset-stage-3/
或者,您可以单独安装 class 属性插件:
https://babeljs.io/docs/en/babel-plugin-proposal-class-properties
@Joe 谢谢,是的,您提到的插件将有助于解决问题。在我的例子中,我解决它的方法是确保将所有 .babelrc 依赖项复制到 jsdoc babel 属性 以及我错过了这部分,它给了我所有的错误。
由于 stage-2 、 stage-3 或任何其他阶段预设在 babel 7 或更高版本中被删除,因此您必须单独添加插件。
请使用"require()"导入插件,否则无法正常工作。
这是 .bablerc 文件 -
module.exports = {
plugins: [
[require("@babel/plugin-proposal-class-properties"), { loose: false }]
],
presets: ["@babel/preset-env", "@babel/preset-react"]
};
我正在使用 JSDOC 及其所有支持的 npm 插件来创建漂亮的文档。当 jsdoc 为 运行 并解析 JSX 文件时遇到困难,它总是在 =
符号
SyntaxError: unknown: Unexpected token
export default class SaveDesign extends Component {
static displayName = 'SaveDesign';
}
conf.json 文件
{
"source": {
"include": [ "src/app/test.js", "src/app/components/Modals/Template/SaveDesign.jsx"],
"exclude": [ "src/fonts", "src/icons", "src/less", "src/vector-icon" ],
"includePattern": ".+\.js(doc|x)?$",
"excludePattern": "(^|\/|\\)_"
},
"plugins": ["node_modules/jsdoc-babel"],
"babel": {
"extensions": ["js", "es6", "jsx"],
"presets": ["es2015"]
},
"jsx": {
"extensions": ["js", "jsx"]
}
}
Class 属性不是 ES2015 规范的一部分,因此它们也不是 ES2015 Babel 预设的一部分。 The proposal to add class properties to the language 目前处于标准化过程的第 3 阶段,因此您需要第 3 阶段预设。
https://babeljs.io/docs/plugins/preset-stage-3/
或者,您可以单独安装 class 属性插件:
https://babeljs.io/docs/en/babel-plugin-proposal-class-properties
@Joe 谢谢,是的,您提到的插件将有助于解决问题。在我的例子中,我解决它的方法是确保将所有 .babelrc 依赖项复制到 jsdoc babel 属性 以及我错过了这部分,它给了我所有的错误。
由于 stage-2 、 stage-3 或任何其他阶段预设在 babel 7 或更高版本中被删除,因此您必须单独添加插件。 请使用"require()"导入插件,否则无法正常工作。 这是 .bablerc 文件 -
module.exports = {
plugins: [
[require("@babel/plugin-proposal-class-properties"), { loose: false }]
],
presets: ["@babel/preset-env", "@babel/preset-react"]
};