Как я могу динамически загружать файл JSON внутри модуля ECMAScript?
Я делаю:
let filePath = '../../data/my-file.json'
import inputArray from filePath assert { type: 'json' }
Вот результат, который я получаю:
file:///.../script.mjs:5
import inputArray from filePath assert { type: 'json' }
^^^^^^^^
SyntaxError: Unexpected identifier
at ESMLoader.moduleStrategy (node:internal/modules/esm/translators:119:18)
at ESMLoader.moduleProvider (node:internal/modules/esm/loader:483:14)
at async link (node:internal/modules/esm/module_job:67:21)
Это работает, если я статически импортирую файл JSON:
import inputArray from './my-file.json' assert { type: 'json' }
Есть ли способ динамически импортировать файл JSON внутри модулей ECMAScript?
Почему это происходит?
Я использую Node.js версии v18.7.0.
1 ответ
Нашел способ:
let filePath = '../../data/my-file.json'
let arrayImport = await import(filePath, {
assert: { type: "json" },
});
const inputArray = arrayImport.default
console.log('result': inputArray)
Больше информации здесь: v8 — Dynamic import().