Я пытаюсь добавить рендеринг на стороне сервера в свое приложение React.Я установил последний пакет babel, но когда я пытаюсь запустить сервер узла, используя
node server/bootstrap.js
, я получаю сообщение об ошибке «SyntaxError: Неожиданный импорт токена»
Кажется, что babel не переноситсямое приложение React.Ниже приведен фрагмент кода в моем файле bootstrap.js
require('ignore-styles');
require('@babel/register')({
ignore: [/(node_modules)/],
presets: ['@babel/preset-env', '@babel/preset-react'],
plugins: ["@babel/plugin-proposal-class-properties", "@babel/plugin-syntax-dynamic-import"]
});
require('./index');
Я использую узел 8.11.2
Ниже приведена часть моего файла package.json
"dependencies": {
"@babel/core": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"babel-core": "^7.0.0-bridge.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react-app": "^7.0.2",
"express": "^4.16.4",
"ignore-styles": "^5.0.1",
"react": "^16.8.3",
"react-autosuggest": "^9.4.2",
"react-awesome-modal": "^2.0.5",
"react-dom": "^16.3.2",
"react-facebook-login": "^4.1.1",
"react-google-login": "^5.0.0",
"react-image-lightbox": "^5.1.0",
"react-notify-toast": "^0.5.0",
"react-quill": "^1.3.3",
"react-router-dom": "^4.2.2",
"react-s3": "^1.3.1",
"react-scripts": "2.1.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"devDependencies": {
"@babel/plugin-proposal-class-properties": "^7.3.4",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.0.0"
}
Ниже приводится полное сообщение об ошибке
C:\angryusers\node_modules\react-s3\lib\ReactS3.js:1
(function (exports, require, module, __filename, __dirname) { import Signature from "./Signature";
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Module._compile (C:\angryusers\node_modules\pirates\lib\index.js:99:24)
at Module._extensions..js (module.js:663:10)
at Object.newLoader [as .js] (C:\angryusers\node_modules\pirates\lib\index.js:104:7)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
Чего мне не хватает?