webpack可以在导出时保留子模块的路径吗?

时间:2016-09-03 03:57:15

标签: webpack

假设我有一个项目,结构是这样的

projectFolder
--index.html
--img
--js
--childMod
    --modA
        --index.html
        --img
        --js

在webpack的正常配置中,多个pages.all图像包含子模块中的图像将被放入同一个文件夹,就像这样

buildFolder
--index.html
--modA.html
--allImgs
--bundle.js
--modA.bundle.js

我希望webpack保留项目结构,就像这样

buildFolder
--index.html
--imgs
--bundle.js
--childMod
    --childModImgs
    --modA.html
    --modA.bundle.js

我的目标是,webpack可以识别资源的路径,如果它在childMod中,那么它们将被输出并放在childMod的文件夹中,而不是一起放在一个文件夹中。 如何制作?

1 个答案:

答案 0 :(得分:0)

this Github comment开始,是的,您可以为文件加载器执行此操作:

file?name=[path][name].[ext]&context=/the/root/path

这会将文件/the/root/path/dir/file.png复制到/output-directory/dir/file.png.

在Webpack配置中,它可能如下所示:

  { test: \.png$/, loader: "file?name=[path][name].[ext]&context=/the/root/path" },

对于像CSS和Javascript这样的资源,它们通过捆绑和缩小数据的其他加载器传递,不,没有办法做到这一点。这没有意义,因为Javascript文件可以来自整个项目的各种文件夹。