为什么我在导入@wordpress/element时会得到TypeError

ffdz8vbo  于 2023-11-17  发布在  WordPress
关注(0)|答案(1)|浏览(103)

this question相同的问题。
但是现在我导入'@wordpress/element'而不是'react-dom/client',因为我已经读到你也可以使用它,因为它建立在react之上。
现在我在控制台中得到一个不同的错误,当我写这个:import { createRoot } from '@wordpress/element';
错误代码:

[Error] TypeError: undefined is not an object (evaluating 'window["wp"]["element"]')
    @wordpress/element (index.js:21)
    __webpack_require__ (index.js:45)
    (anonyme Funktion) (index.js:102:96)
    (anonyme Funktion) (index.js:109)
    Globaler Code (index.js:110)

字符串
我认为这个问题发生在这个文件:module.exports = window["wp"]["element"];
它是自动创建的。
我的目标只是从react-dom导入createRoot,我不知道为什么它不会工作。
(But再说一次,我是一个初学者,也许完全错误的想法)

ljsrvy3e

ljsrvy3e1#

所以你需要做的是导入index.asset.php,并将其依赖传递到脚本依赖数组中:

function my_enq_scripts(){
   $inc = require 'build/index.asset.php';
   wp_enqueue_script('my-script-name', '/build/index.js', $inc['dependencies'], $inc['version']);
}

add_action('wp_enqueue_scripts','my_enq_scripts');

字符串
您也可以创建一个更友好的版本,如:

$version = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? time() : $inc['version'];
wp_enqueue_script('my-script-name', '/build/index.js', $inc['dependencies'], $version);

相关问题