使用babel将打字稿添加到React

时间:2018-08-07 20:41:25

标签: typescript react-redux babel

我有一个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”,则它可以正常工作。我是否缺少一些必要的插件?

0 个答案:

没有答案