Как добавить сгенерированные модули Webpack в Build, в то время как другие модули уже зависят от них? - PullRequest
0 голосов
/ 24 марта 2020

Цель состоит в том, чтобы объединить модули / файлы (json -подобные файлы) в одну сборку по мере их создания. Проблема в том, что другие файлы, которые уже находятся внутри проекта, зависят от еще не сгенерированных файлов.

Я понимаю, как работает compilation.addModule (), , но не понимаю, какой хук мне нужно использовать или как мне нужно, чтобы мой код запускался внутри Webpack, для создания json -подобных файлов до того, как будут обработаны другие файлы, которые зависят от json -подобных файлов. .

До сих пор я пытался использовать свой код в качестве плагина, но получил ошибку, что мои успешно сгенерированные файлы отсутствуют -> Швы мне, как будто веб-пакет пытался загрузить модули и их зависимости раньше мои файлы были сгенерированы.

Я также пытался использовать его в качестве загрузчика, но решил, что он не так подходит, как плагин. Насколько я понимаю, они преобразуют больше, чем загружают что-то (я не хочу преобразовывать существующий источник).

Файл, который импортирует содержимое json -подобных файлов, выглядит следующим образом ( уже внутри проекта):

import { DE_TRANSLATIONS } from "./de";
import { FR_TRANSLATIONS } from "./fr";

export const translations = {
    de: DE_TRANSLATIONS,
    fr: FR_TRANSLATIONS
};

Не ясно, сколько json -подобных файлов будет сгенерировано (de.ts / fr.ts / en.ts) за сборку. Например, файл с именем de.ts может выглядеть так:

export const DE_TRANSLATIONS = {
"NVT": {
    "ERROR": {"MAX": {"SIZE": "Bitte kürzen Sie die Eingabe {0} auf {1} Zeichen."}},
    "OUTAGE": {
        "REPORT": {
            "FROM": "Von",
            "SUBJECT": "Störungsmeldung",
            "MESSAGE": "Störungsbeschreibung",
            "TRANSFORMER": {"STATION": {"NO": "Trafostation Nr."}}
        }
    },
    "REQUIRED": {
        "AREA": "Bitte geben Sie eine Fläche an.",
        "SUPPLYOBJECT": "Bitte geben Sie einen Ort an.",
        "DATE": "Bitte geben Sie ein Datum an.",
        "LATITUDE": "Bitte geben Sie einen Breitengrad an.",
        "LONGITUDE": "Bitte geben Sie einen Längengrad an.",
        "MESSAGE": "Bitte geben Sie eine Meldung an.",
        "POSTAL": {"CODE": "Bitte geben Sie eine Postleitzahl an."},
        "SUPPLIER": "Bitte geben Sie einen Versorger an.",
        "VALUE": "Bitte geben Sie einen Wert an."
    }
}

};

Ключи будут использоваться внутри html -tags. Все это будет использовано для интернационализации.

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