Dam*_*ica 6 inline-styles ecmascript-6 webpack webpack-style-loader
好的,我已经使用 Webpack 导入了一个 css 文件,style-loader如下css-loader所示:
import './style.css'
Run Code Online (Sandbox Code Playgroud)
Webpack 通过style标签将其附加到我的页面。到目前为止,一切都很好。但是,当应用程序的状态发生变化时,我想删除这种特定的样式。当然,我可以使用 删除它document.querySelector('style'),但是有一些自然的 Webpack 方法可以做到这一点吗?
提前致谢。
使用 style-loader,您可以将某些 css 文件标记为惰性,并.use()在安装路由和.unuse()卸载路由时调用。
反应钩子示例:
import styles from './styles.lazy.css';
export function LegacyRoute() {
useLayoutEffect(() => {
styles.use();
return () => { styles.unuse() };
}, []);
return <p>Hello World</p>;
}
Run Code Online (Sandbox Code Playgroud)
网络包配置:
module.exports = {
module: {
rules: [
{
test: /\.css$/i,
exclude: /\.lazy\.css$/i,
use: ['style-loader', 'css-loader'],
},
{
test: /\.lazy\.css$/i,
use: [
{ loader: 'style-loader', options: { injectType: 'lazyStyleTag' } },
'css-loader',
],
},
],
},
};
Run Code Online (Sandbox Code Playgroud)
来源: https: //github.com/webpack-contrib/style-loader#lazystyletag
| 归档时间: |
|
| 查看次数: |
4285 次 |
| 最近记录: |