Я создал проект с использованием синтаксиса ES6.
Я использую Babel для компиляции файлов синтаксиса ES6 JavaScript, чтобы версия Node.js могла работать.
Однако, когда я пытаюсь выполнить файл (index. js), который, как я полагал, был скомпилирован babel, используя node lib/index.js
. Я получаю следующую ошибку: SyntaxError: Unexpected token export
.
Я запускаю следующую команду для компиляции моего проекта: ./node_modules/.bin/babel src -d lib
. src
содержит все мои файлы, которые написаны на ES6.
Он успешно компилирует каталог с сообщением: Successfully compiled 15 files with Babel.
Итак, я не уверен, почему я не могу запустить скомпилированные файлы. Я также впервые использую Babel, поэтому я, возможно, что-то пропустил.
У меня есть следующие файлы, которые, я считаю, важны для Babel:
.babelrc
{
"presets": ["@babel/preset-env"]
}
package.json
- зависимости dev
"devDependencies": {
"@babel/cli": "^7.8.4",
"@babel/core": "^7.8.6",
"@babel/polyfill": "^7.8.3",
"@babel/preset-env": "^7.8.6",
"@babel/register": "^7.8.6",
"babel-loader": "^8.0.6"
}
Подробное сообщение об ошибке:
/Users/c/Projects/Project1/src/credentials.js:10
export default Credentials;
^^^^^^
SyntaxError: Unexpected token export
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Users/c/Projects/Project1/lib/index.js:3:53)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
Похоже на lib / index. js, оно ссылается на файл ES6 с помощью строка:
var _credentials = _interopRequireDefault(require("../src/credentials"));
.