ecmascript-6 - 如何使用 Webpack 删除/取消导入内联 CSS?

标签 ecmascript-6 webpack inline-styles webpack-style-loader

好的,我已经用 Webpack 导入了一个 css 文件 style-loadercss-loader像这样:

import './style.css'

Webpack 通过 style 将其附加到我的页面标签。到现在为止还挺好。但是,当应用程序的状态发生变化时,我想删除这种特殊的样式。当然,我可以用 document.querySelector('style') 删除它,但是有一些自然的 Webpack 方法可以做到这一点吗?

提前致谢。

最佳答案

使用 style-loader,您可以将一些 css 文件标记为惰性,然后调用 .use()安装路线时,.unuse()卸载路线时。

react 钩子(Hook)示例:

import styles from './styles.lazy.css';

export function LegacyRoute() {
  useLayoutEffect(() => {
    styles.use();
    return () => { styles.unuse() };
  }, []);
  return <p>Hello World</p>;
}

网络包配置:
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',
        ],
      },
    ],
  },
};

来源:
https://github.com/webpack-contrib/style-loader#lazystyletag

关于ecmascript-6 - 如何使用 Webpack 删除/取消导入内联 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39406667/

相关文章:

javascript - getOwnPropertyNames 在 Firefox 上忽略 __proto__

javascript - Spread Operator 获取数组内对象的单个属性 - JS/TS

css - 覆盖内联字体?

reactjs - 如何自定义react-bootstrap组件?

javascript - ECMA脚本 2015 : const in for loops

javascript - 哪些运行平台和版本实现了 ES6 模块和导入导出语法?

javascript - Webpack 从目录导入 React 组件

javascript - 只有 ReactOwner 可以有 refs。您可能正在向不是在组件的 render 方法中创建的组件添加 ref

css - 如何从 webpack angular2 应用程序中的 node_modules 导入 CSS

css - CKEditor 不将内联样式应用于链接