Symfony 4 - Encore - 将文件夹复制到dist

时间:2018-06-08 08:49:39

标签: symfony webpack-encore

我使用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?

修改

好的,现在我会使用一种技巧,我不明白为什么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 文件夹中。

0 个答案:

没有答案