后續(xù)工作

2023-05-31 14:33 更新

所有的情況都運行得如常嗎?

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

運動異常?

創(chuàng)建一個 issue 并告訴我們在遷移過程中你遇到了問題。

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

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

內(nèi)核的改變

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

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

loader 的 getOptions 方法

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

  • ?this.getOptions? 自 webpack 5 啟動支持使用
  • 它支持將 JSON 作查詢字符串,而不只是 JSON5:如 ??{arg:true} ?→ ??{"arg":true}?。在相關的加載器文檔中,應用推薦使用 JSON 而不是推薦使用JSON5。
  • ?loader-utils? 擁有解析查詢字符串的特定行為(如 ?true?,?false?及 ?null? 不會被解析成 ?string? 并且是原始類型的值)。這對新的內(nèi)部設置 ?this.getOptions? 方法來說,不再適用,它使用Node原生的 ?querystring? 方法進入解析。此時,需要在loader中使用 ?this.getOptions? 獲取配置選項之后,根據(jù)情況添加自主權(quán)為行。
  • 模式(Schema) 參看新的 ?this.getOptions? 方法而言是可以選擇的,但是我們強烈建議給你的加載器選擇項添加模式校試。模式中的 ?title? 字段,可用于自定校園實驗的錯誤信息,比如 ?"title": "My Loader oooptions"? 會在這種方式顯示錯誤信息: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)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號