Невозможно использовать оператор импорта вне модуля babel - PullRequest
1 голос
/ 18 июня 2020

Извините, что задаю тот же вопрос, но я не смог решить эту проблему после просмотра многих блогов / ответов SO ..

Package. json выглядит следующим образом: Здесь я уже добавил модуль типа но не повезло, а также добавил флаг --experimental-modules

     "name": "my-react-app",
     "version": "1.1.1",
     "private": true,
     "type": "module",
     "scripts": {
            .......
           "start": "webpack-dev-server --env.dev",
           "start:server": "node --experimental-modules src/server/bootstrap.js",
            .....
               },
     "dependencies": {
         "@babel/runtime": "^7.10.2",
         "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
         "babel-polyfill": "^6.26.0",
         "babel-preset-es2015": "^6.24.1",
         "custom-event-polyfill": "^1.0.6",
         "fbemitter": "^2.1.1",
         "install": "^0.12.1",
          "precise-ui": "^1.3.0",
          "react": "^16.13.1",
         "react-dom": "^16.4.2",
         "react-fast-compare": "^2.0.2",
         "react-open-weather": "^0.3.0",
         "react-router-dom": "^4.3.1",
         "styled-components": "^5.1.1"
         }
        ....
      }

src / server / bootstarp. js Я добавил предустановки

  require('ignore-styles');

 require('babel-register')({
 ignore: [ /(node_modules)/ ],
 presets: ["env", "react", "stage-2","es2015","es2016"],
 plugins: []

 });

require('./index');

bable.config. js выглядит следующим образом:

   {
    "presets": ["env", "react", "stage-2","es2015","es2016"],
   "plugins": [],
    "env": {
     "test": {
     "plugins": [
                 [
                 "istanbul",
                 {
                "include": [
                            "src/**.*"
                           ],
                 "exclude": [
                           "dist/**.*",
                           "node_modules/**.*",
                           "tests/**.*"
                            ]
               }
             ]
           ]
         }
      }
    }

Ошибка, которую я получаю при выполнении npm запуск запуска: сервер:

        node --experimental-modules src/server/bootstrap.js

        /Users/zospakir/Projects/my-react-app/node_modules/precise-ui/dist/es6/index.js:1
        import * as colors from './colors';
        ^^^^^^

        SyntaxError: Cannot use import statement outside a module
         at wrapSafe (internal/modules/cjs/loader.js:1116:16)
         at Module._compile (internal/modules/cjs/loader.js:1164:27)
        at Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
          at Object.require.extensions.<computed> [as .js] (/Users/zospakir/Projects/my- react-  app/node_modules/babel-register/lib/node.js:152:7) 

Версия узла: v14.4.0 NPM версия: 6.14.5

Я также пытался изменить bootstrap. js на bootstrap. cjs, но это тоже не помогло

1 Ответ

0 голосов
/ 18 июня 2020

попробуйте это:

npm install babel-plugin-syntax-dynamic-import --save

bable.config. js установить плагин импорта:

  "plugins": [
     "syntax-dynamic-import"
   ]

см. ссылку

спасибо

...