Closed BLBaylis closed 6 years ago
@BLBaylis it looks like you just want to add sass
capabilities to your project, right?
If that's the case, I'd recommend using our officially supported gatsby-plugin-sass
We already support extracting CSS files, so the idea is that you just use that plugin, and you get those benefits for free!
I'm going to close this out as answered, but please feel free to re-open if this doesn't solve your issue or if you need any more assistance. Thanks!!
@DSchau Thanks for taking a look, but I already have sass and its relevant plugin installed fine. I'm trying to deal with a flash of unstyled content issue and one solution I'm trying out is from this article, which involves adding the extract-text-webpack-plugin.
Edit : Also I'm not seeing an option to reopen this issue.
@BLBaylis not a problem, I've re-opened it!
Aare you able to reproduce this with a repo or at least a link to your site? We've seen issues intermittently about a flash of unstyled content with something like a CSS in JS library--which have since been fixed--but rarely with SASS.
For context, we already add the extract-text-plugin. Here's the code in v2 and v1
This is the live site (unfinished) https://blbaylis.github.io/my-portfolio/. The repo is here. I guess that the extract-text-plugin isn't the right path if it is already being used. Additionally, it could be material-ui, I have seen issues involving it (though mostly with gatsby v2).
@BLBaylis the CSS is inlined, as you'd expect. I see a number of style tags come in after the page loads relating to JSS.
I'd recommend checking out one of these two plugins (in order of likelihood of it working!):
I've tried material-ui plugin previously and was unable to run gatsby develop. IIRC, there was a lot of error messages involving @babel/runtime, which I assumed was a result of that plugin being for material v1. I will look into that again, but I'll try the jss plugin first which I haven't tried before.
Thanks for having a look!
@DSchau Installing the jss plugin and adding it to gatsby-config ran ok, but didn't prevent the FOUC. Without removing the jss plugin, I also added the material plugin, which resulting in a crazy amount of errors after running gatsby develop. They are the same as when I tried the plugin without the jss plugin.
error There was an error compiling the html.js component for the development server.
See our docs page on debugging HTML builds for help https://goo.gl/yL9lND
Error: Module not found: Error: Cannot resolve module '@babel/runtime/core-js/object/keys' in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\material-ui\styles
resolve module @babel/runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\material-ui\styles
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\material-ui\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\material-ui\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel doesn't exist (module as directory)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
looking for modules in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules
resolve 'file' or 'directory' runtime/core-js/object/keys in C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel
resolve file
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx doesn't exist
resolve directory
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys doesn't exist (directory default file)
C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys\package.json doesn't exist (directory description file)
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\material-ui\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\gatsby\node_modules\@babel]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.js]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
[C:\Users\Brad\Desktop\Coding\brad-portfolio\node_modules\@babel\runtime\core-js\object\keys.jsx]
@ ./~/material-ui/styles/withStyles.js 14:35-80
That was quite the ordeal. Fixed in the above PR, as best as I can tell.
Please let me know if you need anything else!
I'd like to preface this by saying my Webpack and Node knowledge is unfortunately very limited. With that said, the first place I visited is the Gatsby doc page for add custom Webpack configs. This told me to export a function from gatsby-node.js called modifyWebpackConfig. Additionally, I would need to use webpack-configurator.
I installed this and checked out the docs for that, which literally has an example that uses extract-text-webpack-plugin. So I copy/pasted that into the example on the Gatsby doc to get the following in my gatsby-node.js:
I've only got a case for develop, because I figure once that works I can add the others. Upon running gatsby develop I get the following:
I can add more info if needed, but I assume my code is just wrong. If someone is able to put me out of my misery on this one I would be very grateful!