我使用Symfony 4 Encore / Webpack . 我想将整个文件夹(包含图像)复制到dist文件夹 .

这是我的webpack配置:

Encore
    // the project directory where compiled assets will be stored
    .setOutputPath('public/build/')
    .setPublicPath('/build')
    .cleanupOutputBeforeBuild()
    .enableSourceMaps(!Encore.isProduction())
    .enableSassLoader(function(sassOptions) {}, {
        resolveUrlLoader: false
    })
    .autoProvidejQuery()

    .addEntry('js/app', './assets/js/app.js')
    .addEntry('js/home', './assets/js/home.js')
    .addEntry('js/map', './assets/js/map.js')
    .addPlugin(new CopyWebpackPlugin([
        // copies all images
        { from: './assets/images/*', to: 'images/', flatten: true },
    ]))

并且不会复制images文件夹 . 我有一个Symfony 4的默认安装 .

有没有办法以简单的方式将文件夹及其资源复制到dist文件夹?在没有插件的情况下使用Encore?

EDIT

好的,现在我将使用一种技巧,我不明白为什么Symfony没有提供任何关于图像/静态管理的明确文档 .

我把它放在我的主js文件中:

const imagesContext = require.context('../images', true, /\.(png|jpg|jpeg|gif|ico|svg|webp)$/);
imagesContext.keys().forEach(imagesContext);

更多信息:http://aerendir.me/2018/04/06/managin-static-images-webpack-encore/

它完美地工作,并将/ assets / images文件夹中的所有图像放到 /public/build/images 文件夹中 .