Hi James,
To make hot reloading of CSS work, CSS is not being extracted in the development build.
During development, after all of the scripts get loaded, CSS is loaded as BLOBs. That's why you are not able to get the styles working with JavaScript disabled.
For production, though, the CSS is extracted and a .css file is created, which is used in the HTML template. So you wouldn't face this problem in production.
You're correct in identifying that it has something to do with webpack builds. For the above differences have a look at webpack.config.prod.js and webpack.config.dev.js
./webpack.config.prod.js
...
module: {
loaders: [
{
test: /\.css$/,
exclude: /node_modules/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader?localIdentName=[hash:base64]&modules&importLoaders=1!postcss-loader'),
...
./webpack.config.dev.js
...
module: {
loaders: [
{
test: /\.css$/,
exclude: /node_modules/,
loader: 'style-loader!css-loader?localIdentName=[name]__[local]__[hash:base64:5]&modules&importLoaders=1&sourceMap!postcss-loader',
...
@james_sherry Ah! Something else is the cause of this problem. Looping in @somu We'll take a look into this, thanks for the video and reporting this. :)