У меня есть проект, который удачно строит веб-пакет с помощью веб-пакета снизу [1]. Я хочу в интерактивном режиме протестировать приложение, поэтому я пытаюсь использовать node-babel. Каждый раз, когда он жалуется на синтаксис моего импорта или экспорта.
$ ./node_modules/.bin/babel-node server_tests.js
/.../src/config/config_defaults.js:48
export default DefaultConfiguration;
^^^^^^
SyntaxError: Unexpected token export
at createScript (vm.js:74:10)
at Object.runInThisContext (vm.js:116:10)
at Module._compile (module.js:533:28)
at Module._compile (/.../node_modules/pirates/lib/index.js:83:24)
Вот мой .babelrc:
{
"presets": [["@babel/preset-env",
{
"targets": {
"esmodules": true
}
}]]
}
Webpack Config
const path = require('path');
module.exports = {
mode: 'production',
target: 'node',
entry: ['@babel/polyfill',
path.resolve(__dirname, './server_tests.js'),
],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'server_tests.bundle.js',
},
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
},
};
И в моем package.json:
"devDependencies": {
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/node": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.5",
"mochawesome": "^3.1.1",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14"
},