webpack 文件加载器图像到不同的目录

标签 webpack webpack-file-loader

我有 2 个不同的图片文件夹。

- src/assets/img/img1.png
- src/content/media/img2.png

dist 目录输出:
- dist/img1.png
- dist/img2.png

但应该是这样的:
- dist/assets/img/img1.png
- dist/content/media/img2.png

因为它有效,我必须改变什么?

{
test: /\.(jpg|png|svg)$/,
            use: [
                {
                    loader: 'file-loader',
                    options: {
                        name: '[name].[ext]',
                        outputPath: 'content/media/',
                    },
                }
            ]
        },

最佳答案

当您将 outputPath 指定为字符串时,它是所有条目文件的默认值。相反,您可以编写和函数,它为不同的条目返回不同的路径/文件名。

还需要考虑的一件事是您需要根据每个条目的路径进行不同的输出,因此请将您的 name 属性设置为 [path][name].[ext] 。这样,当您在 outputPath 函数中获取文件名时,您就知道要输出到哪个目录。

下面是一个例子:

use: [
      {
         loader: "file-loader",
         options: {
            name: '[path][name].[ext]',
            outputPath: (file) => {
              let path = file.split("src/")[1]; //this will yield assets/img/img1.png     
              return path
            }
        }
      }
     ]

关于webpack 文件加载器图像到不同的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47633922/

相关文章:

javascript - iOS 12.2 : device orientation data still blocked even after manual enabling in settings

reactjs - React Routing with Express, Webpack 开发中间件, React router dom

reactjs - 如何使用 Webpack 构建的 React 组件库分发字体或其他静态资源?

webpack - 在 webpack 中使用 file-loader 和 html-loader 时,图片的 src attr 为 '[object Module]'

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

angular - 无法解析模块@angular/core 中的错误

javascript - 模块构建失败 : ReferenceError: window is not defined

javascript - 对 API 的 JSON 数据的跨源请求 - "You may need an appropriate loader to handle this file type."

file - 从Vue CLI项目文件夹下载.pdf文件

javascript - 使用 webpack 将 Assets 文件夹推送到公共(public)目录