WordPress / NPM 错误 - 必须在 Bootstrap 的 JavaScript 之前包含 jQuery

Posted

技术标签:

【中文标题】WordPress / NPM 错误 - 必须在 Bootstrap 的 JavaScript 之前包含 jQuery【英文标题】:WordPress / NPM error - jQuery must be included before Bootstrap's JavaScript 【发布时间】:2020-03-17 21:37:44 【问题描述】:

我正在使用 NPM 为 Wordpress 主题捆绑引导程序和其他几个脚本。

默认情况下,WordPress 会加载 jquery,因此我已将 jquery 从捆绑包中排除。在 google 开发工具中可以看到 jquery 在我捆绑的 JS 文件之前被加载,但我仍然收到此错误。

pgthrottle.min.js:2 Uncaught TypeError: Bootstrap 的 javascript 需要 jQuery。 jQuery 必须放在 Bootstrap 的 JavaScript 之前。

解决此问题的最佳方法是什么?

这是我的functions.php中的内容

wp_register_script( 'pgthrottle-js', THEME_DIR . '/js/pgthrottle.min.js', 'jquery', '', true );
wp_enqueue_script( array('jquery', 'pgthrottle-js') ); 

【问题讨论】:

【参考方案1】:

使用 wp_enqueue_scripts 动作挂钩。

add_action( 'wp_enqueue_scripts', 'cool_function_name' );

function cool_function_name()
    wp_register_script( 'pgthrottle-js', THEME_DIR . '/js/pgthrottle.min.js', 'jquery', '', true );
    wp_enqueue_script( array('jquery', 'pgthrottle-js') ); 

【讨论】:

你是对的,但我已经有了它,所以它不能解决我遇到的问题。【参考方案2】:

我将此代码添加到我的 webpack.config.js 文件以解决问题。

plugins: [
         new webpack.ProvidePlugin(
            $: "jquery",
            jQuery: "jquery"
        )

【讨论】:

以上是关于WordPress / NPM 错误 - 必须在 Bootstrap 的 JavaScript 之前包含 jQuery的主要内容,如果未能解决你的问题,请参考以下文章

错误加载包'':每个.bzl文件都必须有一个对应的包,但'@npm//:install_bazel_dependencies.bzl'没有

npm 错误!在 github 操作上构建脚本期间失败

未捕获的错误:在 url 中找不到类 'WP_Query' - Wordpress

您的 PHP 似乎没有安装运行 WordPress 必须的 MySQL 拓展。

块编辑器给出无效的钩子调用错误

npm install 生成大量错误