title: Gatsby wrapRootElement/wrapPageElement works on localhost, but not once deployed to shared hosting
body: <p>I'm using Gatsby for the first time on a simple website project. I'm accustomed with traditional React apps where there is a root file component, typically &quot;App.js&quot; that one attaches Providers and other global level functionality.</p>
  <p>Gatsby doesn't offer a root App.js, but it does offer wrapRootElement and wrapPageElement, which, after a bit of wrangling, worked just fine on my localhost.</p>
  <pre><code>export const wrapRootElement = ({ element }) =&gt; {
      return (
          &lt;ThemeProvider theme={theme}&gt;
              {element}
          &lt;/ThemeProvider&gt;
      )
  }
  </code></pre>
  <p>and</p>
  <pre><code>export const wrapPageElement = ({ element, props }) =&gt; {
      return &lt;Layout {...props}&gt;{element}&lt;/Layout&gt;
  }
  </code></pre>
  <p>inside of gatsby-browser.js (and with appropriate local imports and such)</p>
  <p>(using Root for my Theme Provider and Page for my Layout wrapper, which includes header and footer elements)</p>
  <p>I used 'gatsby clean' then 'gatsby build' to generate the deployable public folder, but upon upload to my shared host, only the inner portion showed up, not the header or footer, nor did my theme colors show up.</p>
  <p>On a whim, I downloaded Gatsby and pulled out their &quot;using-redux&quot; example, built, and deployed it to the same shared host with similar results — that is, it doesn't behave as expected.</p>
  <p>What am I missing? Since it fails on the Gatsby example, I'm presuming it as something to do with my server side setup (recall, it works fine on localhost). I have Node installed, but I'm not using it as part of this app; it's intended to be completely static and I'm just trying to use the wrappers to clean up my code.</p>