在 @wordpress/scripts@28 的情況下,通過 create-block 命令創(chuàng)建的 Gutenberg 塊,在 WordPress 6.5.4 中不被顯示。
Gutenberg blocks created by the create-block command in the case of @wordpress/scripts@28 are not displayed in WordPress 6.5.4.
該問題已有答案,記個筆記,匯總一下。
https://github.com/WordPress/gutenberg/issues/62202
Wordpress block not showing after `npx @wordpress/create-block@latest` and activation
https://wordpress.org/support/topic/plugin-created-with-create-block-not-showing-inside-editor/
使用 create-block 命令創(chuàng)建的古滕堡區(qū)塊,如果其使用 @wordpress/scripts 的版本是 28,則不能展示在編輯器中,這是一個嚴重的BUG。
究其原因,Gutenberg 是基于 React 開發(fā)的,@wordpress/scripts@28 構(gòu)建的代碼適用于新的 React 版本,而 WordPress 6.5.4 作為穩(wěn)定版本還使用舊的 React 運行時。
來源:https://github.com/WordPress/gutenberg/issues/62202#issuecomment-2143692074
解決辦法是在 create-block 命令創(chuàng)建完區(qū)塊后,對區(qū)塊項目依賴的 @wordpress/scripts 手動降級。
npm uninstall @wordpress/scripts
npm install @wordpress/scripts@27.9.0
降級后區(qū)塊就出現(xiàn)了,但是是否有其他不利影響尚未可知。
此外,如果不對 @wordpress/scripts 降級,也可以通過將 WordPress 升級到 6.6 beta 來解決這個問題,但是使用非穩(wěn)定版本用于生產(chǎn)環(huán)境是不明智的。
WordPress 項目過度的工程化,導致開發(fā)者除非對其開發(fā)進度持續(xù)關(guān)注,否則往往使人在遇到問題時手足無措。

浙公網(wǎng)安備 33010602011771號