После обновления до 7 ни один из гугл-ответов не работает.
У меня есть структура проекта
пакет. json
"scripts": {
"start": "yarn dev:start",
"restart": "touch src/shared/app.jsx",
"dev:start": "cross-env BABEL_ENV=dev nodemon -e js,jsx --watch src/server --exec babel-node src/server",
"dev:wds": "cross-env BABEL_ENV=dev webpack-dev-server --progress --info-verbosity verbose",
"prod:build": "rimraf lib dist && babel src -d lib --ignore .test.js && cross-env NODE_ENV=production webpack -p --progress --color --display-error-details",
"prod:start": "cross-env NODE_ENV=production pm2 start lib/server && pm2 logs",
"prod:stop": "pm2 delete server",
"lint": "eslint src webpack.config.babel.js --ext .js,.jsx",
"test": "yarn lint && flow && jest --coverage",
"precommit": "yarn test",
"prepush": "yarn test && yarn prod:build"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.0.0",
"@babel/node": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/plugin-proposal-json-strings": "^7.0.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.0.0",
"@babel/plugin-transform-modules-commonjs": "^7.8.3",
"@babel/plugin-transform-runtime": "^7.8.3",
"@babel/preset-env": "^7.0.0",
"@babel/preset-flow": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.8.3",
"@gfx/zopfli": "^1.0.10",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^9.0.0",
"babel-jest": "^23.4.2",
"babel-loader": "^8.0.0",
"babel-plugin-flow-react-proptypes": "^4.1.0",
"babel-plugin-lodash": "^3.3.4",
"babel-plugin-recharts": "^1.2.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.14",
"babel-plugin-webpack-alias": "^2.1.2",
"compression-webpack-plugin": "^2.0.0",
"cross-env": "^5.2.0",
"css-loader": "^0.28.5",
"html-webpack-plugin": "^3.2.0",
"isomorphic-style-loader": "^4.0.0",
"jest": "^20.0.4",
"lodash-webpack-plugin": "^0.11.5",
"sass-loader": "^6.0.6",
"style-loader": "^0.18.2",
"url-loader": "^0.5.9",
"webpack": "^4.22.0",
"webpack-cli": "^3.1.2",
"webpack-dev-server": "^3.10.3"
},
"dependencies": {
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-object-rest-spread": "^7.0.0",
"@babel/runtime": "^7.3.4",
"@babel/runtime-corejs3": "^7.4.3",
"babel-plugin-transform-imports": "^1.5.0",
"core-js": "^3.6.4",
"webpack-spritesmith": "^0.4.1"
}
babel.config. json
{
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": {
"version": 3,
"proposals": true
},
"debug": true
}
],
"@babel/preset-flow",
"@babel/preset-react"
],
"plugins": [
"lodash",
"flow-react-proptypes",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-proposal-class-properties",
[
"transform-imports",
{
"react-router": {
"transform": "react-router/${member}",
"preventFullImport": true
}
}
],
[
"@babel/plugin-transform-runtime",
{
"corejs": 3,
"helpers": true,
"useESModules": true
}
]
]
}
Первый babel не переносит плагин-преобразование-время выполнения (или, возможно, любой файл в node_modules)
После babel-node src/server
Произошла ошибка. Неожиданный импорт токена
Секунда Если я отключаю плагин-преобразование-время выполнения, все будет хорошо, пока babel не встретит относительно импортированный файл и импорт в него
Все остальные конструкции импорта не приводят к таким ошибкам
импортированный файл вызывает ошибку при импорте в него
Ошибка только здесь
Независимо от того, какие пакеты я установил, какие бы файлы конфигурации ни были .babelr c или babel.config. json - не работает, в babel 6 проблем нет
Это проблемы с рутированием или структурой, или может быть конфиг? Пытался переустановить все пакеты, очистив кеш. Та же ошибка
Тем не менее, prod:build
aka babel src -d lib
работает нормально, но webpack
, а затем сокрушается на том же
\node_modules\@babel\runtime-corejs3\helpers\esm\defineProperty.js:1
(function (exports, require, module, __filename, __dirname) { import _Object$defineProperty from "../../core-js/object/define-property";
^^^^^^
SyntaxError: Unexpected token import
at new Script (vm.js:51:7)
at NativeCompileCache._moduleCompile (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\v8-compile-cache\v8-compile-cache.js:226:18)
at Module._compile (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\v8-compile-cache\v8-compile-cache.js:172:36)
at Module._compile (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\pirates\lib\index.js:99:24)
at Module._extensions..js (module.js:660:10)
at Object.newLoader [as .js] (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\pirates\lib\index.js:104:7)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at Module.require (module.js:593:17)
at require (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
at Object.<anonymous> (C:\Users\marat.m\PhpstormProjects\b2b-node\webpack.config.babel.js:29:47)
at Module._compile (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\v8-compile-cache\v8-compile-cache.js:178:30)
at Module._compile (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\pirates\lib\index.js:99:24)
at Module._extensions..js (module.js:660:10)
at Object.newLoader [as .js] (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\pirates\lib\index.js:104:7)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:501:12)
at Function.Module._load (module.js:493:3)
at Module.require (module.js:593:17)
at require (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\v8-compile-cache\v8-compile-cache.js:159:20)
at WEBPACK_OPTIONS (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\convert-argv.js:133:13)
at requireConfig (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\convert-argv.js:135:6)
at C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\convert-argv.js:142:17
at Array.forEach (<anonymous>)
at module.exports (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\convert-argv.js:140:15)
at yargs.parse (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\cli.js:241:39)
at Object.parse (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\node_modules\yargs\yargs.js:563:18)
at C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\cli.js:219:8
at Object.<anonymous> (C:\Users\marat.m\PhpstormProjects\b2b-node\node_modules\webpack-cli\bin\cli.js:538:3)