Неожиданный импорт токенов (ReactJS & Babel) - PullRequest
0 голосов
/ 26 сентября 2018

Когда я пытаюсь запустить свое приложение, я получаю следующую ошибку: (function (exports, require, module, __filename, __dirname) { import { Row } from '../grid' SyntaxError: Unexpected token import

Я попробовал пару ответов stackoverflow, в которых предлагалось установить babel-plugin-transform-es2015-modules-commonjs babel-plugin-transform-class-properties babel-preset-es2015

, а затем настроить babel-rc файл как таковой:

{
  "presets": ["env", "es2015", "react", "stage-2"],
  "plugins": [
    ["transform-es2015-modules-commonjs"],
    ["transform-class-properties"],
    [
      "import",
      { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }
    ]
  ]
}

Но ни один из них не сработал.

Вот фрагмент моего webpack.config.js, который должен настроить babel-loader для переноса .jsx|.js

module: {
    rules: [
      {
        test: /\.(js|jsx)$/,
        exclude: /node_modules/,
        use: ['babel-loader']
}

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Ваш .babelrc должен выглядеть как

{
    "presets": [
        "@babel/preset-env",
        "@babel/preset-react"
    ]
}

, если вы еще не добавили babel в зависимости от dev, запустите

npm i @babel/core babel-loader @babel/preset-env @babel/preset-react --save-dev

ИЛИ

yarn --dev add @babel/core babel-loader @babel/preset-env @babel/preset-react

это обеспечит наличие последних версий всех необходимых зависимостей.

0 голосов
/ 26 сентября 2018

Ваш .babelrc должен выглядеть как

{
  "presets": [
    "@babel/env",
    "@babel/react"
  ]
}

Это означает, что вы должны иметь

"@babel/core": "^7.0.0"
"@babel/preset-env": "^7.0.0"
"@babel/preset-react": "^7.0.0"

в качестве зависимостей dev.

Это все, что необходимо для включениястандартные функции в babel, включая импорт и поддержку JSX.Удалите все пакеты babel, которые не относятся к этим трем, если только вы не используете babel pollyfills.

...