后續(xù)工作

2023-05-31 14:33 更新

所有的情況都運(yùn)行得如常嗎?

如果你成功地遷移到webpack 5。請(qǐng)發(fā)推@我們。

運(yùn)動(dòng)異常?

創(chuàng)建一個(gè) issue 并告訴我們?cè)谶w移過程中你遇到了問題。

發(fā)現(xiàn)本指南中缺失的東西?

請(qǐng)?zhí)峤?nbsp;Pull Request 以幫助其他開發(fā)者更好地使用該指南。

內(nèi)核的改變

如果你對(duì)內(nèi)核感興趣,這里會(huì)列出webpack內(nèi)核相關(guān)的變化,如:添加類型,代碼重組和方法重命名等。但這些變化并不會(huì)做為遷移通用案例的一部分。

  • ?Module.nameForCondition? ,?Module.updateCacheModule? 以及 ?Module.chunkCondition? 不再可選。

loader 的 getOptions 方法

Webpack 5 發(fā)布后,在loader 的上下文中,會(huì)帶有內(nèi)部設(shè)置的 ?this.getOptions? 方法。這對(duì)于那些使用之前推薦 schema-utils 中的 ?getOptions? 方法的loader 而言,這是一個(gè)更大更新:

  • ?this.getOptions? 自 webpack 5 啟動(dòng)支持使用
  • 它支持將 JSON 作查詢字符串,而不只是 JSON5:如 ??{arg:true} ?→ ??{"arg":true}?。在相關(guān)的加載器文檔中,應(yīng)用推薦使用 JSON 而不是推薦使用JSON5。
  • ?loader-utils? 擁有解析查詢字符串的特定行為(如 ?true?,?false?及 ?null? 不會(huì)被解析成 ?string? 并且是原始類型的值)。這對(duì)新的內(nèi)部設(shè)置 ?this.getOptions? 方法來說,不再適用,它使用Node原生的 ?querystring? 方法進(jìn)入解析。此時(shí),需要在loader中使用 ?this.getOptions? 獲取配置選項(xiàng)之后,根據(jù)情況添加自主權(quán)為行。
  • 模式(Schema) 參看新的 ?this.getOptions? 方法而言是可以選擇的,但是我們強(qiáng)烈建議給你的加載器選擇項(xiàng)添加模式校試。模式中的 ?title? 字段,可用于自定校園實(shí)驗(yàn)的錯(cuò)誤信息,比如 ?"title": "My Loader oooptions"? 會(huì)在這種方式顯示錯(cuò)誤信息:Invalid ooooptions object. My Loader has been initialised using an ooooptions object that does not match the API schema. - ooooptions.foo.bar.baz should be a string.。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)