Это для первой страницы.
Я создал коллекцию изображений в gridsome.server.js путем сканирования папки, полной изображений, и создания узлов, каждый из которых содержит имя и путь к изображению:
let dir = fs.opendirSync(process.cwd() + '/static/images')
let fd, fn, nameParts
const imagesColl = actions.addCollection('images')
while (!!(fd = dir.readSync())) {
fn = fd.name
nameParts = fn.split('.')
imagesColl.addNode({
name: nameParts[0],
path: '/images/' + fn
})
}
dir.close()
На титульном листе я создаю сетку этих изображений 4x2.
Запрос graphql выглядит так:
images:allImages {
edges {
node {
name
path
}
}
}
а затем в моем компоненте страницы vue я использую изображения вроде этого
...
<div>
<div class="grid grid-cols-4 shadow-xl">
<g-image width="100" v-for="(edge, ix) of $page.images.edges" :key="ix"
:src="edge.node.path" />
</div>
</div>
Итак, коллекция создается нормально, я могу запросить их на странице, но похоже, что процессор g-image вообще не вызывается.
Я указываю ширину «100», чтобы увидеть сетку небольших изображений, но этого не происходит. По сути, результат - это просто браузер, уменьшающий их размер до «тупых» размером около 300 пикселей (для этого размера страницы).
Любые мысли приветствуются.