У меня есть проект с большим количеством файлов JavaScript, разделенных в нескольких папках.
root
| - index.html
| - lib
| -- jquery-ui.js
| -- jquery.js
| -- html2canvas.js
|
| - js
| -- main.js
| -- app1.js
| -- app2.js
| -- app3.js
И O нужно использовать webpack для минимизации этих файлов по отдельности таким образом, чтобы каждый файл сохранял свой путь.
Я не хочу иметь один файл со всем кодом.
Моя текущая конфигурация:
const path = require('path');
module.exports = {
entry:[
'./js/index.js',
'./pages/MCF/js/index.js',
'./pages/MCF/js/refresh.js',
'./pages/MCF/lang/index.js',
'./pages/MCF/lib/scriptJs/script.js',
'./pages/MCF/lib/scriptJs/load.js'
],
output :{
path :path.resolve('./prod/js'),
filename: "app.min.js"
},
module:{
rules:[
{
test:/\.js$/,
exclude: /(node_modules|bower_components)/,
use:['babel-loader']
}
]
}
}
@Jai ** спасибо **
@Jai, можешь ли ты опубликовать это в качестве ответа и уточнить подробности? Похоже, этот вопрос является результатом №1 в Google при поиске этого.
Ссылку на множественные точки входа можно взять отсюда.
Вот как вы должны пойти для отдельных сборок файлов:
module.exports = {
entry:{
main : './js/index.js',
main2 : './pages/MCF/js/index.js',
refresh : './pages/MCF/js/refresh.js',
langindex : './pages/MCF/lang/index.js',
script : './pages/MCF/lib/scriptJs/script.js',
load : './pages/MCF/lib/scriptJs/load.js'
},
output :{
path :path.resolve('./prod/js'),
filename: "[name].min.js"
},
...
};
[name].min.js
Этот [name]
позволит вам сохранять сборку для каждой записи в виде заданного имени (ключа). Результатом будет:
./prod/js/main.js,
./prod/js/main2.js
// so on
сделать запись как объект.