Я использую модуль контекстного модуля API для включения некоторых файлов в мой проект.
На значении, которое я извлекаю из свойства typescript, выдается ошибка: TS2339: Property 'default' does not exist on type 'unknown'
.
Как я могу сделать это (строго) типизированным?
const blogPosts = ((context): Data[] => {
const keys = context.keys();
const values = keys.map(context);
console.log('values: ', values);
// logs: (3) [Module, Module, Module]
// 0: Module { default: "---↵title: "A blog title"↵author: John↵date:… etc", __esModule: true, Symbol(Symbol.toStringTag): "Module"}
// 1: Module { default: "---↵title: "Another blog title"↵author: John↵date:… etc", __esModule: true, Symbol(Symbol.toStringTag): "Module"}
// 2: Module { default: "---↵title: "Yet another blog title"↵author: John↵date:… etc", __esModule: true, Symbol(Symbol.toStringTag): "Module"}
const data: Data[] = keys.map((key, index) => {
const value = values[index];
// TS2339: Property 'default' does not exist on type 'unknown'
return matter(value.default) as DocumentFrontMatter;
});
return data;
})(require.context('../posts', true, /\.md$/));
Редактировать: Удалена следующая часть. Не думайте, что это в webpack-env. В @ types / webpack и @ types / webpack-env не упоминается понятие «по умолчанию».
Примечание: я добавил @types/webpack-env
в мои зависимости проектов и использовал его в tsconfig . json ( источник ):
"types": [
"node",
"webpack-env"
]