-
Couldn't load subscription status.
- Fork 1.5k
Description
First of all, thanks a lot @gauravtiwari for your work on integrating the non-JS assets management!
As I am using HMR with React, I am trying to enable it for CSS to avoid CSS changes to reload the whole page. To achieve this, ExtractTextPlugin needs to be replaced by style-loader for development. Here are my changes to sass.js:
const ExtractTextPlugin = require('extract-text-webpack-plugin')
const { env } = require('../configuration.js')
const baseUse = [
'css-loader',
'postcss-loader',
'sass-loader',
]
module.exports = {
test: /\.(scss|sass|css)$/i,
use: env.NODE_ENV !== 'development' ? ExtractTextPlugin.extract({ fallback: 'style-loader', use: baseUse }) : ['style-loader'].concat(baseUse),
}This works fine but I need to change my stylesheet_pack_tag calls to not occur during development because the CSS files are now embedded into the JS packs when I am serving the assets using webpack-dev-server with HMR on, and the manifest file does not contain them.
Currently I am using
<%= stylesheet_pack_tag "application" unless Rails.env.development? %>but I dont find this very elegant.
Do you have an idea on how to correctly handle this? I was thinking about either an asset_pack_exists?(name) method to check if the CSS file is present, or an option to the pack tag helpers, like stylesheet_pack_tag "application", only_if_exists: true.
Any other or better ideas?