webpack 劃重點,webpack

背景

最近開始有精力比較細致的研究 webpack,暫時沒有能力產出整篇的干貨,本文用于記錄在學習的過程中對于一些易混淆或者文檔不清晰的地方所做的一些研究性探索。愛掏網 - it200.com如果錯誤,請斧正。愛掏網 - it200.com

01.context問題

首先工程目錄是這樣的

94dd9ccaf45a1210df49bd0c0f272fb350ff8298

其中 webpack 配置文件中,入口文件路徑是這樣的,如下所示:


devtool: 'eval-source-map',
// 入口
entry: {
  main: './examples/main',
  vendors: ['vue', 'vue-router']
},

看到這里,自己感覺比較疑惑了,入口文件是相對路徑./examples/main,相對于當前路徑查找,但是當前路徑是build目錄啊,肯定不對,但是,運行 webpack 打包命令的時候,又沒有報錯,說明配置文件其實沒配置錯誤,那到底是哪里有理解上的漏洞呢。愛掏網 - it200.com愛掏網 - it200.com愛掏網 - it200.com

查看 webpack 官方文檔,發現 entry 入口的路徑是相對于 context 配置的路徑的,也就是說,webpack 查找入口文件的時候,是從 context 規定的目錄開始查找的,并不是從根目錄開始。愛掏網 - it200.com

那么問題來了啊,我們這個配置文件壓根沒有配置 context,那么必然取得是 context 的默認配置,接著研究文檔,在官方文檔的說明里面說 context 的默認目錄是當前目錄,配置表里的默認取值是這種:



  context: __dirname, // string(絕對路徑!)
  // webpack 的主目錄
  // entry 和 module.rules.loader 選項
  // 相對于此目錄解析

在這里有個問題,取值__dirname真的可以嗎,于是,在webpack配置文件里面加入了一行代碼 console.log(__dirname); 然后運行 webpack --config webpack.dev.config.js,輸出結果為:/workspace/soyo/build,這樣肯定是不對的,相對于這個目錄肯定找不到入口文件,但是現在 webpack 運行正常,說明context 的默認取值肯定不是 ——dirname,正常的值應該為 /workspace/soyo/愛掏網 - it200.com

然后開始找各種資料,發現對 context 的講解真是乏善可陳,于是查找 node 文檔,查找能取值正確路徑的方法,發現了process.cwd(),這個方法取得是構建命令運行時的目錄的路徑,應該跟 package.json同目錄,到這一步應該就搞清楚了,但是webpack內部解析的context 默認值具體是不是這個,無從知曉,但是__dirname應該不太行。愛掏網 - it200.com



原文發布時間為:2024年06月25日
原文作者:鐵錘 本文來源:?掘金?如需轉載請聯系原作者
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 一区二区三区免费视频播放器| 免费观看美女裸体网站| 五月婷婷伊人网| 青青草原亚洲视频| 91在线看片一区国产| 日韩毛片基地一区二区三区 | 99国产在线观看| 色眯眯日本道色综合久久| 日韩影院在线观看| 大学生日嘛批1| 人人揉人人爽五月天视频| www久久精品| 男人j桶进女人p无遮挡免费| 天天操天天舔天天干| 人人爽人人爽人人爽人人片av| h视频在线免费看| 特区爱奴在线观看| 扒开老师的蕾丝内裤漫画| 国产精品免费视频网站| 亚洲人成网站日本片| 欧美jizz40性欧美| 日韩欧美一区二区三区免费看| 国产国产成年年人免费看片| 久久久久成人精品一区二区| 色天天综合色天天看| 性一交一乱一伦一色一情| 国产又粗又长又更又猛的视频| 久久人妻夜夜做天天爽| 花传媒季app| 李丽珍蜜桃成熟时电影在线播放观看 | 97精品依人久久久大香线蕉97| 美女被羞羞网站免费下载| 性做久久久久久免费观看| 伊人久久大香线蕉无码| 97久久国产亚洲精品超碰热 | 热99精品在线| 国产精品视频铁牛tv| 人久热欧美在线观看量量| 911色主站性欧美| 最新黄色网址在线观看| 国产精品理论电影|