2017-06-22 169 views
0

我是JavaScript編程的新手。我試着用JSX格式編寫腳本的測試,但有點它與Unexpected token失敗。運行摩卡時對JSX語法運行錯誤「Unexpected token」錯誤

這裏是測試代碼,我還沒有寫任何測試。

//Rectangle.js 
let assert = require('chai').assert, 
    path = require('path'); 

import Rectangle from './Rectangle'; 

這裏是一個需要被測試

//Rectangle.jsx 
import React from 'react'; 

class Rectangle extends React.Component { 
    render() { 
     return <h1>Hello, {this.props.name}</h1>; 
    } 
} 

代碼下面是錯誤

SyntaxError: Rectangle.jsx: Unexpected token (5:11) 
    3 | class Rectangle extends React.Component { 
    4 | render() { 
> 5 |  return <h1>Hello, {this.props.name}</h1>; 
    |   ^
    6 | } 
    7 | } 

這裏的mocha命令,我從一些文章nyc mocha --compilers js:babel-core/register Rectangle.js了。

我也上傳了github上的代碼(link),所以你可以看到已安裝的依賴關係。

我該如何解決這個問題?我錯過了一個步驟嗎?

回答

2

您需要react預設添加到你內心的package.json

"babel": { 
    "presets": ["es2015", "react"] 
} 
+0

啊,我這麼愚蠢的錯誤。非常感謝! –

1

通天配置我想你可能需要定製編譯器,以幫助您編譯代碼JSX。

你可以在這裏看到這個例子:Mocha-react repo

+0

這是一個很酷的東西。謝謝! –