
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
css-hot-loader
Advanced tools
This is a css hot loader, which support hot module replacement for an extracted css file.
In most cases, we can realize css hot reload by style-loader . But style-loader need inject style tag into document, Before js ready, the web page will have no any style. That is not good experience.
Also, a lots of people thought about that, How can realize hot reload with extract-text-webpack-plugin. For example #30 , #!89.
So I wrote this loader, which supports hot module replacement for an extracted css file.
First install package from npm
$ npm install css-hot-loader --save-dev
Then config webpack.config.js
module: {
rules: [
{
test: /\.css$/,
use: ['css-hot-loader'].concat(ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader'
})),
},
]
}
css-hot-loader should be the first loader before extract-text-webpack-plugin.
This plugin require the output css file name static. If output file name depend
on css content, for example 'bundle.[name].[contenthash].css', HMR reload will
fail, more detail refer to #21.
There is an issue to work with webpack4 #37. Please use mini-css-extract-plugin to replace extract-text-webpack-plugin. Config like this:
module: {
rules: [
{
test: /\.css/,
use: [
'css-hot-loader',
MiniCssExtractPlugin.loader,
'css-loader',
],
},
] // end rules
},
Config file example should like this
module: {
loaders: [{
test: /\.less$/,
loaders: [
'css-hot-loader',
'extract-text-webpack-plugin',
'less',
...
],
include: path.join(__dirname, 'src')
}]
}
Option to define you css file reload rule. Since 1.1.0 .
For example 'css-hot-loader?fileMap='../css/{fileName}' , which mean
js/foo.js => css/foo.css
Default value is {fileName}.
see #3.
Force reload all css file.
The realization principle of this loader is very simple. There are some assumed condition:
The secend assumption is often established. If you use extract-text-webpack-plugin , entry foo.js will extract css file foo.css. This principle will help us to locate the url of css file extracted.
Because every css file will be a js module , every css file change can affect a module change. CSS hot loader will accept this kind change, then find extracted css file by document.currentScript.
So when a css file changed, We just need find which css file link element, and reload css file.
(The MIT License)
FAQs
css hot reload work with extract-text-webpack-plugin
The npm package css-hot-loader receives a total of 13,510 weekly downloads. As such, css-hot-loader popularity was classified as popular.
We found that css-hot-loader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.