Rollup.js 捆绑图像

Fab*_*sta 7 reactjs webpack rollupjs

在 webpack 世界中,我可以使用file-loader按以下方式将图像作为 url 进行捆绑和访问

就像这样:

const webpackConfig = {
  // ...
  module: {
    rules: [
      {
        test: /\.(jpg|png|svg)$/,
        use: [
          {loader: 'file-loader?name=[path][name].[hash].[ext]'}
        ],
        include: paths
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

并在反应组件上像这样使用它,例如:

import foo from 'assets/images/foo.png'

function ReactFunctionalComponent () {
  return (<img src={foo} />)
}
Run Code Online (Sandbox Code Playgroud)

这会将 foo 与图像的路径放在一起

有没有办法在 rollup js 上执行相同的操作,以便我可以将图像资源作为 URL,并在包内包含哈希值?

Isi*_*osa 4

您可以使用插件向汇总添加功能。在这种情况下,使用rollup-plugin-imagehttps://github.com/rollup/rollup-plugin-image)或rollup-plugin-imghttps://github.com/alwaysonlinetxm/rollup-plugin-img)似乎更灵活。

考虑到这种技术会增加文件的大小。

  • 关于此插件的一个重要细节:“图像使用 base64 进行编码,这意味着它们将比磁盘上的大小大 33%。因此,您应该仅将其用于小图像,以便在启动时方便地使用它们。 (3认同)