# Difference between using gatsby-node.js & plugins options for building pages dynamically

**URL:** <https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98>\
**Category:** Developing with Prismic\
**Tags:** gatsby\
**Created:** [April 1, 2020, 11:46am UTC](https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98 "2020-04-01T11:46:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lance](https://dub1.discourse-cdn.com/flex013/user_avatar/community.prismic.io/lance/32/36_2.png) [@Lance](https://community.prismic.io/u/Lance)\
**Post date:** [April 1, 2020, 11:46am UTC](https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98/1 "2020-04-01T11:46:57Z")

</div>

Hi everyone!

First and foremost, I would like to thank the people at Prismic for creating such a product and opening a free plan for developers!  
So my question is what's the difference between creating pages dynamically using gatsby-node.js and using 'gatsby-source-prismic-graphql' plugin options?

For context here is the approach using the plugin options: [Building pages dynamically](https://prismic.io/docs/reactjs/getting-started/prismic-gatsby)  
Here is another approach using 'gatsby-node.js': [Creating pages with gatsby-node.js](https://share.getcloudapp.com/kpuY20Wg)

Thanks!

---

<div class="post-metadata">

**Author:** ![Pau](https://dub1.discourse-cdn.com/flex013/user_avatar/community.prismic.io/pau/32/5422_2.png) [@Pau](https://community.prismic.io/u/Pau)\
**Post date:** [April 1, 2020, 1:03pm UTC](https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98/2 "2020-04-01T13:03:40Z")

</div>

Hello Lance and welcome to the Prismic community forum!

The differences are:

With the `gatsby-source-prismic-graphql` plugin pages are dynamically generated inside the `src/templates` folder, and the necessary data for the queries is provided by the plugin as well as the URL slugs.

And the gatsby-node.js file is the traditional Gatsby way of programmatically create pages from data. It requires a little bit more configuration like using [the onCreateNode method for the URL slugs, and createPages for creating the pages](https://www.gatsbyjs.org/tutorial/part-seven/).

That’s why we recommend using the `gatsby-source-prismic-graphql` plugin configuration instead!

---

<div class="post-metadata">

**Author:** ![Phil](https://dub1.discourse-cdn.com/flex013/user_avatar/community.prismic.io/phil/32/14_2.png) [@Phil](https://community.prismic.io/u/Phil)\
**Post date:** [September 15, 2020, 4:46pm UTC](https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98/3 "2020-09-15T16:46:06Z")

</div>



---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/flex013/user_avatar/community.prismic.io/system/32/1746_2.png) [@system](https://community.prismic.io/u/system)\
**Post date:** [December 9, 2021, 5:42pm UTC](https://community.prismic.io/t/difference-between-using-gatsby-node-js-plugins-options-for-building-pages-dynamically/98/4 "2021-12-09T17:42:49Z")

</div>


