#javascript #node.js #reactjs #graphql #gatsby
#javascript #node.js #reactjs #graphql #gatsby
Вопрос:
Я следую руководству здесь https://www.gatsbyjs.com/docs/using-gatsby-without-graphql / и у меня есть мой gatsby-node.js заполненный.
Моя текущая структура каталогов:
public
src
-pages
-templates
--program_group.js
static
gatsby-config.js
gatsby-node.js
внутри моего gatsby-node.js файл, который у меня есть
programGroups.forEach(program => {
createPage({
path: `/programs/${program}/`,
component: require.resolve("src/templates/program_group.js"),
context: { program },
})
})
и когда я запускаю gatsby develop
, он говорит: «Не удается найти модуль ‘src/templates/program_group.js «»
Я попытался изменить путь на ./src/ ….. и ../src / и каждую комбинацию. В документации говорится, что он должен быть относительно файла конфигурации, к которому указан указанный выше путь…
Мысли?
Ответ №1:
Попробуйте использовать относительные пути с помощью path.resolve
. Это должно сработать:
const path = require(`path`); // import it outside the function
programGroups.forEach(program => {
createPage({
path: `/programs/${program}/`,
component: path.resolve("./src/templates/programGroup.js"),
context: { program },
})
})
Вы не можете подчеркнуть шаблоны из-за проблем с именованием, это еще один момент, которого следует избегать.
Ответ №2:
Итак, как ни странно, у вас не может быть подчеркивания в имени файла шаблона. Это должно быть исправлено в компиляторе gatsby. Решение: не используйте _ в именах ваших шаблонов