我有一个react应用,其中我使用babel进行转换和摩卡测试。我只是通过npm添加了typescript并设置了配置,因此我可以一次转换一个文件。该网站加载正常,没有任何错误或警告,但是在运行Mocha测试时,出现了问题。
// tsconfig.js
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": false,
"module": "commonjs",
"target": "es5",
"jsx": "react",
"baseUrl": "./",
"paths": {
"app/*": ["app/*"]
}
},
"include": [
"./app/**/*.ts",
"./app/**/*.tsx"
]
}
package.json脚本使用babel-node来使导入与mocha一起使用:
"test-mocha": "babel-node --presets es2015,react,stage-1 mocha.config.js --harmony-proxies"
运行“ yarn test-mocha”时,这是我得到的错误:
Unexpected token (18:9)
public handleClick() {
^
MyButton.tsx
<snip> // imports
export default class MyButton extends React.Component<IProps, {}> {
constructor(props: IProps) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
public handleClick() {
// stuff
}
public render() {
return <button onclick={this.handleClick}>button</button>;
}
}
如果我删除函数前面的“ public”,则它可以正常工作。我是否缺少一些必要的插件?