2017-07-14 19 views
1

現在、ReactJSの使用方法を習得しようとしていますが、問題が発生しましたが、修正する正しい方法が見つからないようです。ReactJS認識されないトークンのインポート

私はnpmをインストールし、npm --install reactnpm --install react-domをプロジェクトのルートに実行しました。このプロジェクトはHTML/JavascriptでPHPのバックエンドに投稿していますが、NodeJSを使用していないのですが、これは私が見てきたことに多大な影響を与えているようですが、私の理解からNodeは必須条件ではありません。

私は、次のjsファイルを持っている

import * as ReactDOM from "react-dom"; 
import * as React from "react"; 
$(document).ready(function(){ 

    postToMiddleware(null, "account-manager.php", "testReact", function(result){ 
     alert(JSON.stringify(result)); 

     ReactDOM.render("<Names />", document.getElementById("names")); 
    }) 
}); 

class Names extends React.Component { 
    render() { 
     return (
      <p>Hello here is my react component</p> 
     ); 
    }; 
} 

私のHTMLページは、上記のJavaScriptファイルを含んでいるが、私はその後、クロームコンソールにエラーが表示されます。

Uncaught SyntaxError: Unexpected token import 

それは文句をされている行非常に最初の行です:

import * as ReactDOM from "react-dom"; 

もしそれが何か違いがあれば、私はWampの下でWindowsを実行していますが、ライブになるとApacheを実行しているLinuxボックスに表示されます。

UPDATE Iインポートに代わるものを見つけ、次の2つのインポート行を変更以来ました:

var ReactDOM = require("/node_modules/react-dom/"); var React = require("/node_modules/react");

をしかし、今Chromeで私が手:

Uncaught SyntaxError: Unexpected token < 

はどれレンダリングの返品で<p>Hello here is my react component</p>の行に文句を言う

+0

このような反応コードは、トランスポータ化せずにブラウザで使用することはできません。すべての設定が事前定義された定型アプリケーションを使用する@tomaszの提案に固執する – baao

+0

Uncaught SyntaxError:予期しないトークン< - JSX構文を解読する必要があるため、このエラーが発生します。 Transpilerはオブジェクトを反応させるためにそれを隠します。 – Tomasz

答えて

2

あなたはが必要です現代のブラウザでは利用できないimportや他のes6機能などの機能をに置き換えることができます。反応するのが新しい場合は、create-react-app-boilerplateを使用して、それ以上のすべてを処理することを検討してください。

+0

私はバベルについて見ましたが、それはreactjsの要件です、私はまた私に別のエラーを与えるように見えるためにインポートを変更しました、それはバベルが必要です。ボイラープレートアプリは、使用したくないノードを使用しているようです。その場合ですか? – Boardy

+0

そうではありませんが、その構文でモジュールをインポートおよびエクスポートするために必要な場合があります。 –

+0

https://facebook.github.io/react/docs/react-without-es6.html es6機能なしでreactを使用する方法に関するリアクションドキュメントをご覧ください。 npmを使用している場合は、すでにNodeを使用しています。 – Tomasz