我使用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 文件夹中 .