#javascript #webpack #webpack-4
#javascript #webpack #webpack-4
Вопрос:
Я пытаюсь выяснить, возможно ли установить динамические имена файлов из глобальных записей для выходных каталогов webpack.
Например
entry: {
'layout': glob.sync('./src/components/layout/**/*.js'),
'sections': glob.sync('./src/components/sections/**/*.js'),
'snippets': glob.sync('./src/components/snippets/**/*.js'),
},
output: {
filename: './assets/bundle.[name].js',
path: path.resolve(__dirname, 'dist'),
}
будет выводить
- пакет.layout.js
- bundle.sections.js
- bundle.snippets.js
Возможно ли создать вывод, который вернет что-то вроде этого?
- /layout/bundle.[filename].js
- /sections/bundle.[filename].js
- /фрагменты / пакет.[filename].js
Ответ №1:
Этот обходной путь сработал для того, что я пытался сделать. Вместо того, чтобы возиться с выводом, мы можем выполнить некоторые функции над записью.
entry: glob.sync('./src/components/**/*.js').reduce((acc, path) => {
const entry = path.replace(/^.*[\/]/, '').replace('.js','');
acc[entry] = path;
return acc;
}, {}),