Get setup to write a Gatsby plugin using the official plugin starter. Run the gatsby new
command and connect the plugin to a site to test with.
The plugin starter includes a message that will be logged to the console of your site when it is hooked up correctly, helping you verify that your plugin is being loaded.
Additional resources:
Kyle Gill: [0:00] To develop a Gatsby plugin, you need a site to run it in. You can quickly generate a new site running gatsby new using the default name my-gatsby-project and choosing a starter. I chose the hello-world starter. You should see a new directory created, called my-gatsby-project, that contains the example site.
[0:14] Gatsby maintains a starter that can be used as an initial boilerplate for creating a new plugin. Copy the link to clone it from GitHub and run gatsby new again, this time passing in my-plugin as the first argument and the Git URL as the second argument. Another directory will be generated containing the plugin starter code.
[0:34] You need to include your plugin in the example site's config so it knows to run the plugin. Navigate to the gatsby-config file. If you don't have one already, add a plugins array and include an entry for your plugin with require.resolve and the path to your plugin. In my case, in the my-plugin folder.
[0:48] You could also link your plugin using npm link or yarn workspace, if you're familiar with them. Your plugin's code that implement Gatsby APIs, like in the gatsby-node file, will now be run when you start the site. This code in the onPreInit hook will log "Loaded gatsby-starter-plugin" to the console. Run the example site with gatsby develop. You should see the message in the log output.
[1:20] Now you're set up to add other Gatsby APIs.
Member comments are a way for members to communicate, interact, and ask questions about a lesson.
The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io
Be on-Topic
Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.
Avoid meta-discussion
Code Problems?
Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context
Details and Context
Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!