Так что я работаю с Graphql и прошивал схему, и мой индексный файл выглядит ужасно длинным. Для небольшого примера:
import userSchema from "./user";
import hobbiesSchema from "./hobbies";
import jobSchema from "./job";
import petSchema from "./pet";
const linkSchema = gql`
scalar Date
type Query {
_: Boolean
}
type Mutation {
_: Boolean
}
type Subscription {
_: Boolean
}
`;
export default [
linkSchema,
userSchema,
petSchema,
jobSchema,
hobbiesSchema,
];
Это будет невероятно долго, если я планирую добавить еще 20 схем! Я хотел бы добавить все файлы в каталог и затем экспортировать их. Так что я видел много случаев, когда один и тот же ответ делал это:
const context = require.context('.', true, /^\.\/(?!index\.js).*\.js$/, 'sync');
let schemas = {};
context.keys().forEach(module => {
schemas[module] = context(module);
});
Итак, я попытался поместить это в массив и экспортировать его как массив всех моих схем, выдвигая каждый модуль в массиве и экспортируя его внизу. Я думал, что это будет работать, но это не так, и мне интересно, почему? Я получаю сообщение об ошибке.
Мои схемы определены и экспортированы в виде
export default gql`
//schema stuff
`
Я попытался сделать то же самое отдельно для резольверов, потому что индексный файл выглядит почти точно так же, как индексный файл схемы, и я получаю сообщение об ошибке "[Ошибка:" default ", определенная в резольверах, но не в схеме]"