filename указывает имя файла, в который будет собираться весь ваш связанный код после прохождения этапа сборки.
путь указывает выходной каталог, в котором app.js (имя файла) будет сохранен на диске. Если нет выходного каталога, webpack собирается создать этот каталог для вас. например:
module.exports = {
output: {
path: path.resolve("./examples/dist"),
filename: "app.js"
}
}
Это создаст каталог myproject / examples / dist и в этом каталоге он создаст app.js , /myproject/examples/dist/app.js . После сборки вы можете перейти к myproject / examples / dist / app.js, чтобы увидеть связанный код
publicPath: «Что мне сюда поставить?»
publicPath указывает виртуальный каталог на веб-сервере откуда будет доставлен связанный файл app.js. Имейте в виду, что текстовым сервером при использовании publicPath может быть либо webpack-dev-server, либо экспресс-сервер, либо другой сервер, который вы можете использовать с webpack.
например
module.exports = {
output: {
path: path.resolve("./examples/dist"),
filename: "app.js",
publicPath: path.resolve("/public/assets/js")
}
}
эта конфигурация говорит webpack упаковать все ваши js-файлы в examples / dist / app.js и записать в этот файл.
publicPath сообщает webpack-dev-server или express server, чтобы он обслуживал этот связанный файл, например examples / dist / app.js, из указанного виртуального расположения на сервере, т.е. / public / assets / js. Таким образом, в вашем HTML-файле, вы должны ссылаться на этот файл как
<script src="public/assets/js/app.js"></script>
Итак, в общем, publicPath похож на отображение virtual directory
на вашем сервере и output directory
определяется конфигурацией output.path. Когда приходит запрос на файл public / assets / js / app.js , файл /examples/dist/app.js будет обслуживаться.
path
и когда вы бы использовалиpublicPath
?