Dynami c или stati c импорт json в браузере с ESM - PullRequest
2 голосов
/ 09 февраля 2020

У меня работает следующий пример без JS с пакетом поверх него.

// index.js
;(async () => {
  const mod = await import('/index.json')

  console.log(mod)
})()
{
  "file": "index.json"
}

Chrome 80 не может загрузить json с

Не удалось загрузить скрипт модуля: сервер ответил не-1024 * MIME-типом «application / json». Строгая проверка MIME-типов принудительно выполняется для сценариев модулей в соответствии с HTML spe c.

Firefox 73. Сбой аналогичным образом:

Загрузка модуля из « http://127.0.0.1: 8080 / index. json ”было заблокировано из-за недопустимого типа MIME (« application / json »).

Это поведение преодолимо?

1 Ответ

1 голос
/ 09 февраля 2020

Вы не можете напрямую импортировать JSON, используя импорт ES6. Вам необходимо экспортировать его из JS файла:

// module.js
export default {
  foo: { 'bar': 'baz' }
};
// index.js
;(async () => {
  const mod = await import('/module.js')

  console.log(mod)
})()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...