我使用mocha从命令行测试tsx组件 . 我用于编译ts-node包 . 但它不能强制jsx . 我的tsconfig.json有jsx编译选项 .

mocha --compilers ts:ts-node / register,tsx:ts-node / register,js:babel-core / register ./src/testing.tsx

SyntaxError:意外的令牌<at exports.runInThisContext(vm.js:53:16)

tsconfig.json:

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "module": "commonjs",
    "jsx": "preserve",
    "target": "es6",
    "removeComments": true,
    "preserveConstEnums": true,
    "sourceMap": false,
    "noEmitHelpers": false,
    "noEmitOnError": false,
    "noImplicitAny": false
  },
  "exclude": [
    "babel_cache",
    "build",
    "docs",
    "gradle",
    "node_modules",
    "out",
    "test",
    "tools",
    "typings"
  ],
  "compileOnSave": false,
  "buildOnSave": false
}

/src/testing.tsx:

import * as React from 'react';
class Foo extends React.Component<any, any> {
    render () {
        return <span>yep</span>;
    }
}
<Foo />