Node.js: при попытке запустить производственную сборку возникает следующая ошибка: import _Promise from "../../core-js/promise"; SyntaxError: неожиданный идентификатор
У меня есть бэкэнд hapi.js с интерфейсом Vue (с использованием Vue CLI). Я использую Node версии 12.10.0 в Ubuntu 16.04.
В режиме разработки все работает нормально. Когда я запускаю свое приложение в процессе сборки, оно строится без ошибок. Проблема возникает, когда я пытаюсь запустить приложение в производственной среде. Это мои сценарии NPM:
"scripts": {
"dev": "npm-run-all --parallel dev:vue dev:hapi",
"dev:vue": "vue-cli-service serve",
"dev:hapi": "NODE_ENV=development node-dev --no-notify src/server/server.js --exec babel-node",
"build": "npm-run-all --serial build:vue build:hapi",
"build:vue": "vue-cli-service build",
"build:hapi": "NODE_ENV=production babel src/server --out-dir dist/server --copy-files",
"prod": "NODE_ENV=production node dist/server/server.js",
...
}
После запуска npm run prod
Я получаю эту ошибку в своем терминале:
/path/to/node_modules/@babel/runtime-corejs2/helpers/esm/asyncToGenerator.js:1
import _Promise from "../../core-js/promise";
^^^^^^^^
SyntaxError: Unexpected identifier
Это мой babel.config.js
файл:
module.exports = {
presets: [
"@vue/app",
"@babel/preset-env",
],
plugins: [
["@babel/plugin-transform-runtime", {
corejs: 2,
}]
]
};
Я думал @babel/plugin-transform-runtime
плагин должен был решить любые проблемы, которые у меня могли возникнуть с Promises. Очевидно, Node v12 должен поддерживать Promises из коробки, но у меня, очевидно, все еще возникают проблемы.
Кто-нибудь знает, что происходит в этой ситуации и что я могу сделать, чтобы это исправить?
Спасибо!
1 ответ
Я наконец нашел ответ. Мне пришлось изменить конфигурации в моемbabel.config.js
файл. Я включил вавилонenv
вариант и определил отдельные конфигурации для клиента и сервера. Это то, что у меняbabel.config.js
файл теперь выглядит так:
module.exports = {
env: {
client: {
presets: [
"@vue/app",
]
},
server: {
presets: [
"@babel/preset-env",
],
plugins: [
["@babel/plugin-transform-runtime", {
corejs: 2,
}]
]
}
}
};