如何使用Webpack Encore和资产处理图像

时间:2019-05-27 13:12:18

标签: image symfony webpack assets

所以我似乎对如何使用Webpack Encore +资源中的图像有些困惑。

我这样存储所有JS和CSS

/assets/js
/assets/css
...

有了Encore,我以后可以从我的 / public / build 文件夹访问它们-那里没有问题。

现在我要存储一些图像(例如文件上传)。

第一个想法是将它们存储在 / assets / images 之类的文件夹中。但是使用当前设置和使用资产,我只能访问 / public / build 文件夹中的文件。

因此,我尝试使用 copyFiles 将所有内容从 / assets / images 复制到 / public / build / images

但是但这不会 自动复制我的文件(例如,将文件上传到/ assets / images /不会将其复制到/ public /构建-在我的项目中无法访问)。因此,我需要手动运行Encore-我不希望这样做。


第二个想法是将上传的图像直接存储在/ public / build / images中,但是,当我运行Encore时,这些文件将被删除。

接下来,我禁用了webpack选项 cleanupOutputBeforeBuild ,因此不会删除图像。但是,如果没有此选项,每次我运行encore时,新的JS和CSS文件将淹没该文件夹。


我需要什么?

一种将图像存储在/ assets文件夹中并使其可用于我的项目的解决方案。

将图像直接存储在/ public / build文件夹中,而无需再通过删除cleanupOutput Option来删除它们,也不用JS / CSS填充文件夹。


预先感谢〜Syllz

2 个答案:

答案 0 :(得分:0)

您可以使用CopyWebpackPlugin来执行此操作。您可以阅读this post了解更多详细信息。

答案 1 :(得分:0)

我的问题的解决方案: 将图像存储到/ public / images中,而不是存储在build文件夹中-运行encore时将删除它们。