意外的保留字'import'对nodejs应用程序做出反应

时间:2017-03-22 17:04:44

标签: javascript reactjs

安装和导入在app js文件的开头响应并响应路由器包但是出现此错误:

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

在我的app.js文件中:

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

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

1 个答案:

答案 0 :(得分:0)

你是ES2015,你需要像Babel这样的转发器。

要实现这一点,首先需要安装一些软件包:

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

接下来,将以下内容添加到package.json:

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

或者,如果您没有package.json,请在工作目录中创建一个名为.babelrc的文件,其中包含以下内容:

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

注意

这不是一个完全重复,但它与this帖子的答案相同。感谢“robertklep”的答案。

<强>更新

如果您使用的是Webpack,请确保通过模块加载程序加载babel。

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