Как обрабатывать require / import как значение, а не как зависимость - PullRequest
0 голосов
/ 25 февраля 2020

Случай I: У меня есть файл с именем data.json

{
  "a": 1,
  "b": 2,
  ...
}

, который я импортировал / требуется в index.js, как показано ниже

import data from './data.json';

console.log(data["a"]);

Все работает нормально, но все данные. json выгружается в индекс. js при связывании с веб-пакетом, поэтому размер файла увеличивается со значениями свойств, которые мне не нужны.

Случай II: Однако, если я сделаю следующее в index.js

const a = {
  "a": 1,
  "b": 2,
  ...
}

console.log(data["a"]);

Все в порядке (значение 1 будет зарегистрировано), и никакие ненужные свойства переменной json a не будут сброшены. Я думаю, что здесь работает Tree Shaking Tree Pack (я не уверен)

Мой вопрос: Как мне достичь варианта II (без лишних свойств), требуя / импортируя файл, как это сделано в случае, если я?

Я думал, есть ли способ трактовать содержимое require как значение, а не как зависимость, поэтому webpack или любой другой пакет не включает его в связанный файл.

PS: я комплектую для WEB

1 Ответ

0 голосов
/ 25 февраля 2020

Редактировать: Извините, неправильно прочитал.

Включите файл JSON в качестве вывода Webpack, но не часть пакета. js

Я думаю, это то, что вы ищете.

Решение Дилана тоже очень хорошее, но я предпочитаю просто: отредактированный код ..

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