javascript - Webpack模块规则测试: Match files that contain a specific parameter

标签 javascript webpack webpack-4 urlloader webpack-loader

我想将一些特定图像显示为 data-uri,而不是链接到图像位置。为此,我使用了 url-loader。

这是我的 HTML(哈巴狗模板):

img.loading(:src="require('@/images/spinner.png?inline')")

以及我的 webpack 相关配置:

     {
        test: /\.(png|jpg|gif|svg|ico)\?inline$/,
        loader: 'url-loader',
        options: {
          limit: 135000,
          name: 'img/[name].[hash].[ext]',
          esModule: false
        }
      },
      {
        test: /\.(png|jpg|gif|svg|ico)$/,
        loader: 'file-loader',
        options: {
          name: 'img/[name].[hash].[ext]',
          esModule: false
        },

其他图像可以正常加载,但内联图像却不能。我可以在文件名中使用这些参数吗?

最佳答案

resourceQueries 可能是最好的选择:

{
    test: /\.(png|jpg|gif|svg|ico)$/,
    resourceQuery: /inline/
    loader: 'url-loader',
    options: {
      limit: 135000,
      name: 'img/[name].[hash].[ext]',
      esModule: false
    }
  },
  {
    test: /\.(png|jpg|gif|svg|ico)$/,
    loader: 'file-loader',
    options: {
      name: 'img/[name].[hash].[ext]',
      esModule: false
    }

请注意,这两个规则都将被处理为 image.jpg?inline 图像将匹配这两个规则,因此您必须设置单独的 resourceQuery

关于javascript - Webpack模块规则测试: Match files that contain a specific parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60569901/

相关文章:

javascript - 如何使用 webpack 在编译时替换文件?

javascript - webpack 加载模块或 block 失败时的事件或回调

Webpack 挂载 Vue 组件失败

javascript - 从其他按钮点击触发按钮

javascript - MarkerClusterer 和地理编码器集成

javascript - 实例化 Ext.form.CompositeField

javascript - webpack-dev-server 未重新编译(JS 文件和 SCSS 文件)

javascript - 从 webpack 输出到更多文件

webpack-dev-server - 导入时 Webpack 找不到图像 - 找不到模块

javascript - 从零开始的 JQuery 验证