Мое приложение работало в течение нескольких месяцев без ЛЮБЫХ проблем.
Это очень просто и имеет только:
- core.m js - основной файл приложения
- config. json - файл настроек
core.m js импортирует настройки с этой строкой: import config from "./config.json";
Приложение запускается с командой: "node --experimental-modules core.mjs"
JSON допустимо.
Все файлы находятся на своих местах.
Я могу запустить это приложение локально, и оно будет работать.
Но после развернув это на героку вылетает на старте. Вот журнал:
2020-04-28T10:50:37.750749+00:00 app[worker.1]: (node:4) ExperimentalWarning: The ESM module loader is experimental.
2020-04-28T10:50:37.769400+00:00 app[worker.1]: internal/modules/run_main.js:57
2020-04-28T10:50:37.769402+00:00 app[worker.1]: internalBinding('errors').triggerUncaughtException(
2020-04-28T10:50:37.769402+00:00 app[worker.1]: ^
2020-04-28T10:50:37.769402+00:00 app[worker.1]:
2020-04-28T10:50:37.769403+00:00 app[worker.1]: TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for /app/config.json
2020-04-28T10:50:37.769403+00:00 app[worker.1]: at Loader.defaultGetFormat [as _getFormat] (internal/modules/esm/get_format.js:70:15)
2020-04-28T10:50:37.769404+00:00 app[worker.1]: at Loader.getFormat (internal/modules/esm/loader.js:110:42)
2020-04-28T10:50:37.769404+00:00 app[worker.1]: at Loader.getModuleJob (internal/modules/esm/loader.js:241:31)
2020-04-28T10:50:37.769405+00:00 app[worker.1]: at async ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:44:17)
2020-04-28T10:50:37.769405+00:00 app[worker.1]: at async Promise.all (index 1)
2020-04-28T10:50:37.769406+00:00 app[worker.1]: at async link (internal/modules/esm/module_job.js:48:9) {
2020-04-28T10:50:37.769406+00:00 app[worker.1]: code: 'ERR_UNKNOWN_FILE_EXTENSION'
2020-04-28T10:50:37.769406+00:00 app[worker.1]: }
ИСПРАВЛЕНИЕ БЕЗ JSON
Когда я пытался исправить, я только что прокомментировал строку импорта и скопировал и вставил объект json в core.m js like: const config = {...};
Это работает, но разрушает все концепции.
Есть идеи, что делать с этой проблемой json import? (без базы данных)