2017-03-22 1 views
0

installiert und importiert reagieren und reagieren zu Beginn der App js Datei Router Pakete aber diese Fehlermeldung erhalten:Unexpected reserviertes Wort ‚importieren‘ reagiert in NodeJS App

(function (exports, require, module, __filename, __dirname) { import React from 'react'; 
                   ^^^^^^ 
SyntaxError: Unexpected reserved word 

In meiner app.js Datei:

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { 
    BrowserRouter as Router, 
    Route, 
    Link 
} from 'react-router-dom'; 

var express = require('express'), 
... 
+0

'import' Anweisungen können nur im Bereich der höchsten Ebene auftreten. Sie können nicht in eine Funktion importieren. –

+0

@jared Ich importierte am Anfang meiner Datei, importierte nicht in einer Funktion – Jon

+0

* in dem Code, den Sie mit dem Fehler * geschrieben haben, es zeigt eine Import-Anweisung * innerhalb einer Wrapper-Funktion *, die wahrscheinlich von einem Code-Transformer angewendet wurde. Es ist der * Code, der * läuft, der zählt, nicht das, was du ursprünglich geschrieben hast. –

Antwort

0

Sie sind ES2015 und Sie benötigen einen Transpiler wie Babel.

diese Funktion zu erhalten, müssen Sie zunächst ein paar Pakete installieren:

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

Oder, wenn Sie nicht tun:

$ npm install --save-dev babel-core babel-preset-es2015 babel-preset-react 

Als nächstes folgendes zu Ihrem package.json hinzufügen haben eine package.json, erstellen Sie eine Datei im Arbeitsverzeichnis genannt .babelrc, die folgende enthält:

{ 
    "presets": [ "es2015", "react" ] 
} 

Hinweis

Es ist kein genaues Duplikat, aber es hatte die gleiche Antwort wie this Post. Danke an "robertklep" für die Antwort.

UPDATE

Wenn Sie Webpack verwenden, stellen Sie sicher, dass Sie babel über Modul-Lader geladen werden.

module: { 
    loaders: [ 
     { 
     loader: 'babel-loader', 
     query: { 
      presets: ['react', 'es2015', 'stage-0'] 
     }, 
     test: /\.jsx?$/, 
     exclude: /(node_modules|bower_components)/ 
     }, 
} 
+0

Ich habe Babel und alle anderen Pakete installiert, aber es funktioniert immer noch nicht:/Und ich habe die obigen Codes hinzugefügt – Jon

+0

Verwenden Sie Webpack? – alireza

+0

Ja, mit Webpack. Aber ich habe noch keine Bundle-js-Datei erzeugt. Außerdem habe ich "babel": "babel", "webpack": "webpack" zu den Skripten in package.json – Jon

Verwandte Themen