У меня есть проект JavaScript, который использует файл json для конфигурации.Какой конфигурационный файл загружен, определяется переменными среды, поэтому у меня есть файл-обертка config.js
, который загружает правильный файл json и экспортирует его как константу.
Я использую VS Code и хотел бысоздать файл декларации, чтобы я мог получить intellisense.Я недостаточно знаком с TypeScript, чтобы знать правильную файловую структуру и не знать, как связать мой файл config.js с экспортированным интерфейсом (или модулем или пространством имен?).
Это тупая версия того, что яиметь.Насколько я могу судить, VS Code не знает, как связать config.d.ts
с экспортом config.js
.
/ config / config.json
{
"setting1": {
"prop1": "foo",
"prop2": 123
},
"setting2": [ "a", "b", "c" ]
}
/ src / config.js
import fs from 'fs';
import path from 'path';
const config = JSON.parse(fs.readFileSync(path.join('..', 'config', 'config.json')));
// do some stuff to `config`
export default config;
/ src / config.d.ts
export namespace config {
export const setting1: {
prop1: string,
prop2: number
},
setting2: string[]
}
}