angular - Zahrnúť priečinok súborov JSON počas zostavovania
Moja Angular 12 aplikácia - dashboard pre embedded systém - sa spolieha na JSON súbory, ktoré sa používajú počas behu na generovanie formulárov a pod.
Niektoré súbory sú známe pred kompiláciou. Deklaroval som rozhranie, aby som mohol overiť typy ich hodnôt v kóde, a pridal som súbor typings.d.ts, aby som ich deklaroval ako moduly:
declare module 'params.json' {
const value: IParams;
export default value;
}
Potom ich vo svojich službách jednoducho zahrniem takto:
import params from 'src/assets/data/params.json';
Takto sa môžem vyhnúť vykonávaniu asynchrónnych HTTP volaní na čítanie súborov. Namiesto toho je ich obsah zahrnutý v mojej aplikácii už počas zostavovania.
Avšak mám problém so zložkou JSON súborov, ktorá môže obsahovať rôzny počet súborov. Skúsil som ísť rovnakou cestou:
declare module 'sensors/*.json' {
const value: ISensor;
export default value;
}
Ale potom, ako by som mohol importovať súbory?
V ideálnom svete by som chcel získať Record<string, ISensor> s názvami súborov ako kľúčmi a obsahom súborov JSON ako hodnotami.
Prosím, opýtajte sa ma na viac podrobností, ak otázka nie je dosť jasná.