webpack 的 css-loader style-loader 无法处理 require.context() ?

发布于 2022-09-13 00:15:03 字数 1121 浏览 21 评论 0

我已经在 config 里面配置了css-loader style-loader。

如果在 index.ts 里使用 require 的形式引入 css,那么打包之后样式可以成功渲染在页面上,但如果我使用 require.context() 批量引入 css,那么页面的样式就不会被正确渲染。

之前有三个猜测:

  1. require.context() 不好用。经过测试,使用 file-loader 可已将通过 require.context() 引入的图片打包。
  2. 引入 css 的时候只能引入一个文件作为入口。经过测试,连续 require 两个 css 文件也能成功渲染。
  3. require.context() 参数输入有问题。经过测试,如果将 css 改为使用 file-loader 打包,所有文件都会被识别并打包,所以 require.context() 获取也没问题。

万策尽矣,实在想不通了。

// require('./static/css/index.css');
// require('./static/css/copy.css');
require.context('./static/css/', true, /\.css$/)
require.context('./static/resource/img/', true, /\.(webp|jpg|png)$/)

import main from './script/main'
main.init();
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader'],
        exclude: /node_modules/
      },
      {
        test: /\.(webp|jpg|png)$/,
        use: {
          loader: 'file-loader',
          options: {
            name: '[name].[ext]',
            outputPath: 'img/'
          }
        },
        exclude: /node_modules/
      }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文