webpack5之output和devServer的publicPath區(qū)別示例詳解

一. output的publicPath
我們知道output中的path的作用是打包后文件輸出的目錄:比如靜態(tài)資源的js、css等輸出,常見的會設(shè)置為dist、build文件夾等;
output中還有一個publicPath屬性,該屬性是指定index.html文件打包引用的一個基本路徑:
- 它的默認(rèn)值是一個空字符串,所以我們打包后引入js文件時,路徑是 bundle.js;

- 在開發(fā)中,我們也將其設(shè)置為 / ,路徑是 /bundle.js,那么瀏覽器會根據(jù)所在的域名+路徑去請求對應(yīng)的資源;
- 如果我們希望打包后在本地直接打開html文件來運行,會將其設(shè)置為
./,根據(jù)./bundle.js相對路徑去查找資源;
舉例:
module.exports = {
mode: "development",
entry: "./src/index.js",
output: {
filename: "bundle.js",
// 打包后的文件的輸出目錄
path: path.resolve(__dirname, "./build"),
// 在打包之后的靜態(tài)資源前面進行一個路徑的拼接:
publicPath: "./"
},
}
打包后:

二. devServer的publicPath
devServer中也有一個publicPath的屬性,該屬性是指定開發(fā)環(huán)境webpack serve下開啟本地服務(wù)所在的文件夾:
- 它的默認(rèn)值是
/,也就是我們直接訪問端口即可訪問其中的資源 http://localhost:8080; - 如果我們將其設(shè)置為了 /abc,那么我們需要通過 http://localhost:8080/abc 才能訪問到對應(yīng)的打包后的資源;
舉例:
module.exports = {
// watch: true,
mode: "development",
entry: "./src/index.js",
output: {
filename: "bundle.js",
// 打包后的文件的輸出目錄
path: path.resolve(__dirname, "./build"),
// 在打包之后的靜態(tài)資源前面進行一個路徑的拼接
publicPath: "/abc" //和下方publicPath設(shè)置一樣
},
// 專門為webpack-dev-server
// devServer為開發(fā)過程中, 開啟一個本地服務(wù)
devServer: {
compress: true, //文件壓縮啟用?[gzip compression]
publicPath: "/abc",
},
}
官方提到: devServer.publicPath 與 output.publicPath相同
打包后:


注意:上方devServer設(shè)置/abc后,我們其中的bundle.js通過 http://localhost:8080/bundle.js是無法訪問的,報錯如下:

所以devServer.publicPath 與 output.publicPath設(shè)置要相同!
以上就是webpack5之output和devServer的publicPath區(qū)別示例詳解的詳細內(nèi)容,更多關(guān)于webpack publicPath區(qū)別的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
微信小程序 詳解頁面跳轉(zhuǎn)與返回并回傳數(shù)據(jù)
這篇文章主要介紹了微信小程序 詳解頁面跳轉(zhuǎn)與返回并回傳數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2017-02-02
sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析
這篇文章主要為大家介紹了sessionStorage多Tab標(biāo)簽頁數(shù)據(jù)共享問題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
JS創(chuàng)建對象常用設(shè)計模式工廠構(gòu)造函數(shù)及原型
本篇帶來你一定熟知的、用于創(chuàng)建對象的三種設(shè)計模式:工廠模式、構(gòu)造函數(shù)模式、原型模式,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-07-07
微信小程序 基礎(chǔ)知識css樣式media標(biāo)簽
這篇文章主要介紹了微信小程序 基礎(chǔ)知識css樣式media標(biāo)簽的相關(guān)資料,需要的朋友可以參考下2017-02-02

