webpack5之output和devServer的publicPath區(qū)別示例詳解
一. output的publicPath
我們知道output
中的path
的作用是打包后文件輸出的目錄:比如靜態(tài)資源的js、css
等輸出,常見的會(huì)設(shè)置為dist、build文件夾
等;
output
中還有一個(gè)publicPath
屬性,該屬性是指定index.html
文件打包引用的一個(gè)基本路徑:
- 它的默認(rèn)值是一個(gè)空字符串,所以我們打包后引入js文件時(shí),路徑是 bundle.js;
- 在開發(fā)中,我們也將其設(shè)置為 / ,路徑是 /bundle.js,那么瀏覽器會(huì)根據(jù)所在的域名+路徑去請(qǐng)求對(duì)應(yīng)的資源;
- 如果我們希望打包后在本地直接打開html文件來(lái)運(yùn)行,會(huì)將其設(shè)置為
./
,根據(jù)./bundle.js
相對(duì)路徑去查找資源;
舉例:
module.exports = { mode: "development", entry: "./src/index.js", output: { filename: "bundle.js", // 打包后的文件的輸出目錄 path: path.resolve(__dirname, "./build"), // 在打包之后的靜態(tài)資源前面進(jìn)行一個(gè)路徑的拼接: publicPath: "./" }, }
打包后:
二. devServer的publicPath
devServer中也有一個(gè)publicPath的屬性,該屬性是指定開發(fā)環(huán)境webpack serve下開啟本地服務(wù)所在的文件夾:
- 它的默認(rèn)值是
/
,也就是我們直接訪問(wèn)端口即可訪問(wèn)其中的資源 http://localhost:8080; - 如果我們將其設(shè)置為了 /abc,那么我們需要通過(guò) http://localhost:8080/abc 才能訪問(wèn)到對(duì)應(yīng)的打包后的資源;
舉例:
module.exports = { // watch: true, mode: "development", entry: "./src/index.js", output: { filename: "bundle.js", // 打包后的文件的輸出目錄 path: path.resolve(__dirname, "./build"), // 在打包之后的靜態(tài)資源前面進(jìn)行一個(gè)路徑的拼接 publicPath: "/abc" //和下方publicPath設(shè)置一樣 }, // 專門為webpack-dev-server // devServer為開發(fā)過(guò)程中, 開啟一個(gè)本地服務(wù) devServer: { compress: true, //文件壓縮啟用?[gzip compression] publicPath: "/abc", }, }
官方提到: devServer.publicPath 與 output.publicPath相同
打包后:
注意:上方devServer設(shè)置/abc后,我們其中的bundle.js通過(guò) http://localhost:8080/bundle.js是無(wú)法訪問(wèn)的,報(bào)錯(cuò)如下:
所以devServer.publicPath 與 output.publicPath設(shè)置要相同!
以上就是webpack5之output和devServer的publicPath區(qū)別示例詳解的詳細(xì)內(nèi)容,更多關(guān)于webpack publicPath區(qū)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
http proxy 對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行代理使用詳解
這篇文章主要為大家介紹了http proxy 對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行代理使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09wasm+js實(shí)現(xiàn)文件獲取md5示例詳解
這篇文章主要為大家介紹了wasm+js實(shí)現(xiàn)md5文件獲取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08JavaScript前端實(shí)現(xiàn)小說(shuō)分頁(yè)功能示例
這篇文章主要為大家介紹了JavaScript前端實(shí)現(xiàn)小說(shuō)分頁(yè)功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07判斷Spartacus?SSR的Transfer?State是否正常工作技巧
這篇文章主要為大家介紹了判斷Spartacus?SSR的Transfer?State是否正常工作技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10mini?webpack打包基礎(chǔ)解決包緩存和環(huán)依賴
這篇文章主要為大家介紹了mini?webpack打包基礎(chǔ)解決包緩存和環(huán)依賴示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09js展示百度地圖及添加標(biāo)注實(shí)現(xiàn)
這篇文章主要為大家介紹了js展示百度地圖及添加標(biāo)注實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08