Я использую convictjs для управления конфигурационными файлами для моего приложения nodejs. Файл с конфигурационной схемой называется "config.js", и он находится в папке "config".
Я использую инструкции импорта и экспорта es6
import convict from "convict";
import dotenv from "dotenv";
import configDev from "./config.dev";
import configProd from "./config.prod";
import configStage from "./config.stage";
.
.
.
export default config.getProperties();
Эти файлы конфигурации содержат учетные данные базы данных и другую необходимую информацию о базе данных, которую я использую в "index.js" для моделей sequelize.
Примечание. На раннем этапе процесса разработки мы попытались использовать es6 с продолжением в других проблемах, поэтому мы решили использовать es5 для моделей, миграций и семян.
В настоящее время, когда я пытаюсь выполнить миграции, seuqlize выдает ошибку, как показано ниже
ERROR: Error reading "config\config.js". Error: SyntaxError: Unexpected token
import
Бабель настроен правильно, я могу перекрыть и запустить приложение без каких-либо проблем, кроме миграции данных. Любая помощь для решения этой проблемы очень ценится.
Насколько я знаю, Node.js не поддерживает этот синтаксис еще так что вы должны использовать либо require
или transpile код с Вавилонской перед казнью.
UPD: похоже, что возможно включить модули ES6 в Node.js, начиная с версии 10.12.0 https://nodejs.org/api/esm.html
node --experimental-modules my-app.mjs