我正在使用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"]
}
}
答案 0 :(得分:7)
类属性不是ES2015规范的一部分,因此它们也不属于ES2015 Babel预设。 The proposal to add class properties to the language目前处于标准化过程的第2阶段,因此您需要第2阶段预设。
https://babeljs.io/docs/plugins/preset-stage-2/
或者,您可以单独安装类属性插件:
答案 1 :(得分:0)
@Joe谢谢是的,你提到的插件将有助于解决问题。在我的情况下,我解决它的方式是确保将所有.babelrc依赖项复制到jsdoc babel属性以及我错过了这件事给了我所有的错误。
答案 2 :(得分:0)
由于阶段2,阶段3或任何其他阶段预设已在babel 7或更高版本中删除,因此您必须单独添加插件。 请使用“ require()”导入插件,否则它将无法正常工作。 这是.bablerc文件-
from netaddr import IPNetwork, IPAddress
def get_client_ip(request):
forbiden_ip_subnets = [...list of forbidden ip subnets...]
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
ip = 0
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
for ip_sub in forbiden_ip_subnets:
if IPAddress(ip) in IPNetwork(ip_sub):
from django.http import HttpResponseForbidden
return HttpResponseForbidden()