Как использовать импорт es6 вместо require? - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу использовать импорт в моем файле, но не могу найти способ правильно заменить мои требования

См. Код, который я хочу заменить

const object = {
  first: require('../example/first.json').EXL.PUBLIC,
  second: require('../example/second.json').EXL.PUBLIC,
  third: require('../example/third.json').EXL.PUBLIC
}

Первый вопрос: как я могу импортировать эти вещи прямо в объект? Так же, как я сделал с require?

Второй, как я могу использовать импорт с командой .EXL.PUBLIC? Чтобы напрямую импортировать нужную ветку файла json?

1 Ответ

1 голос
/ 10 апреля 2019

Первый вопрос: как я могу импортировать эти вещи прямо в объект?

Вы не можете, вы должны импортировать их и затем добавить их к объекту.

Второй, как я могу использовать импорт с командой '.EXL.PUBLIC'?

Вы должны импортировать элемент, а затем извлечь это свойство.

Я предполагаю, что вы используете Node.js:

с v8 по v11

В модуле .mjs вы можете сделать это так:

import firstRoot from "../example/first.json";
import secondRoot from "../example/second.json";
import thirdRoot from "../example/third.json";

const object = {
  first: firstRoot.EXL.PUBLIC,
  second: secondRoot.EXL.PUBLIC,
  third: thirdRoot.EXL.PUBLIC
};

v12

Вы все еще можете сделать это, как в v11.

Если вы используете ESM с файлом .js через новый "type": "module" в package.json, вам нужно добавить флаг --experimental-json-modules, чтобы включить загрузку JSON. Подробнее о поддержке v12 здесь , но обратите внимание, что --type еще не поддерживается (и, если это так, вероятно, будет --entry-type), а флаг JSON равен --experimental-json-modules, а не --experimental-json-loader ).

...