Robię config rollupa do backu. Mam w folderze translacje językowe zapisane w yamlach, które są zwracane na front i np. po odwołaniu się do lang.errors.server_error
dostaję jakiegoś tam stringa.
Najpierw potrzebuję je odczytać z folderu, wcześniej było to zrobione za pomocą require.context
, ale w tej konfiguracji jest to niemożliwe. W webpacku miałem zdefiniowane aliasy i normalnie do require.context
podawałem alias roota projektu i dalszą część ścieżki.
Dodałem alias do configu:
alias({
entries: [
{
find: '@home',
replacement: new URL('../..', import.meta.url)
}
]
}),
Teraz chciałbym w metodzie ładującej translacje zrobić tak:
async reload () {
const translationsURL = new URL('@home/lang', import.meta.url)
const langs = await loadTranslations(translationsURL.pathname)
this.translations = langs
}
Tylko, że nie działa. Alias działa tylko dla importów. Pasowałoby mi też, żeby działało to tak jak tutaj w Solution 2
- https://stackoverflow.com/questions/72161807/importing-a-whole-directory-of-static-files-in-rollup-js
Tutaj dostaję błąd Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'langs' imported from /code/application/back/dist/utils/files.js
.
Mam zrobić plugin, który w buildzie podmieni ścieżki? Chcę w kodzie ich używać np. const path = path.resolve('@home/lang', import.meta.url)
.