Я очень стараюсь, чтобы babel-node понимал импорт и экспорт. Я пробовал различные плагины и пресеты Babel, но ни один из них, похоже, не работает, и, что еще хуже, я даже не могу сказать, загружает ли Babel мой .babelr c или нет.
Вот мои настройки barebones с использованием Узел 10.16 :
пакет. json
{
"name": "jssb",
"version": "1.0.0",
"main": "index.js",
"author": "[redacted]",
"license": "MIT",
"private": true,
"scripts": {
"whatever": "npx babel-node -- ./whatever"
},
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.7",
"@babel/node": "^7.8.7",
"@babel/preset-env": "^7.8.7"
}
}
.babelr c
{
"presets": ["@babel/preset-env"]
}
независимо (chmod a + x)
#!/usr/bin/env npx babel-node --
import path from 'path';
const main = () => {
console.log(typeof path);
}
main();
Всякий раз, когда я запускаю whatever
, я получаю следующее (сокращенная трассировка стека):
import path from 'path';
^^^^
SyntaxError: Unexpected identifier
at Module._compile (internal/modules/cjs/loader.js:721:23)
at Module._extensions..js (internal/modules/cjs/loader.js:787:10)
Я пытался запустить whatever
четырьмя различными способами, но я получил тот же результат каждый раз:
./whatever
npx babel-node -- ./whatever
npx babel-node --presets @babel/preset-env -- ./whatever
yarn whatever
Почему? Я думал, что preset-env позаботится об импорте и экспорте. Чего мне не хватает?