我可以在我的自定义Wordpress插件中使用React,但我忘记了它是如何工作的。我正在尝试使用NPM中的react组件,并将其用作Wordpress插件。
我使用npm从npm安装我的组件。
我的自定义插件。php:
function wp_enqueue_react() {
wp_enqueue_script(\'subreddit-posts\',
plugin_dir_url( __FILE__ ) . \'js/node_modules/react-subreddit-posts/build/index.js\',
[\'wp-element\'],
\'1.0\',
false
);
wp_enqueue_script(
\'wp-react-subreddit-posts\',
plugin_dir_url(__FILE__) . \'js/index.js\',
[\'wp-element\'],
\'1.0\',
true
);
}
function subreddit_posts() {
return \'<div id="subreddit"></div>\';
}
add_shortcode(\'subreddit_posts\', \'subreddit_posts\');
add_action( \'wp_enqueue_scripts\', \'wp_enqueue_react\' );
我的索引。拉入的js:
const { createElement, render } = wp.element;
console.log(\'script is running\');
wp.element.render(
wp.element.createElement(SubredditPosts, {
subreddit: "aww",
display: "gallery",
placeholder: "http://www.codeisdead.com/img/profile/Kyle.jpg",
width: "250px",
height: "300px"
},
null), document.getElementById(\'subreddit\')
);
显示我的控制台日志。但我有一个错误:
Uncaught ReferenceError: module is not defined
Uncaught ReferenceError: SubredditPosts is not defined
模块似乎是
react.production.min.js
我相信wp元素带来的文件。
就像我说的,几个月前我可以让它工作,但做了一些改变,弄坏了一些东西。
用babel/webpack构建带有JSX的JS文件似乎是合乎逻辑的,但我不记得必须使用webpack或任何东西来构建,但我可能忘记了。