【问题标题】:how to embed jQuery in VueJS for formBuilder如何在 VueJS 中为 formBuilder 嵌入 jQuery
【发布时间】:2019-09-19 07:18:33
【问题描述】:

我有一个问题,我不知道为什么jQuery 插件错误,即使我已经安装了它。

我打算将 formBuilder 用于我的 VueJS 项目 https://formbuilder.readthedocs.io/en/latest/getting-started

在我的 HelloWord.vue 文件中,

import $ from 'jquery';
window.$ = window.jQuery = require('jquery');
window.$ = $.extend(require('jquery-ui'));
import formBuilder from 'formBuilder';

我确实喜欢,但我收到以下错误消息。请告诉我如何解决它,谢谢。

form-builder.min.js?f008:19 Uncaught ReferenceError: jQuery is not defined
    at eval (form-builder.min.js?f008:19)
    at Object../node_modules/formBuilder/dist/form-builder.min.js (app.js:1678)
    at __webpack_require__ (app.js:727)
    at fn (app.js:101)
    at eval (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/HelloWorld.vue?vue&type=script&lang=js&:4)
    at Module../node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-

【问题讨论】:

    标签: javascript jquery vue.js


    【解决方案1】:

    你可以通过webpack中的new Webpack.ProvidePlugin来解决。

    const Webpack = require('webpack')
    
    // ...
    plugins: [
      new Webpack.ProvidePlugin ({
        $: 'jquery',
        'window.jQuery': 'jquery',
        jQuery: 'jquery'
      })
    ],
    

    更新

    如果你使用vue-cli 3,修改vue.config.js文件如下:

    const Webpack = require('webpack')
    
    module.exports = {
      // ...
      configureWebpack: config => {
        config.plugins = [
          ...config.plugins,
          new Webpack.ProvidePlugin({
            $: 'jquery',
            'window.jQuery': 'jquery',
            jQuery: 'jquery'
          })
        ]
      }
    }
    

    另外,在终端输入命令设置整个webpack。这会生成 webpack.txt。

    vue inspect > webpack.txt
    

    【讨论】:

    • 我正在使用 vue 3.11.0,因此它与 babel.config.js 一起使用
    • 使用 vue-cli 3,您可以覆盖 vue.config.js 中 webpack 的设置。您的答案已更正。
    • 没有vue.config.js,只有babel.config.js
    • 尝试制作和使用vue.config.js。如果vue.config.js 位于项目根目录,则会自动加载它们。 cli.vuejs.org/config/#target-browsersbabel.config.jsbabel 的设置文件
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 2017-03-09
    • 2017-06-07
    • 1970-01-01
    • 2017-11-02
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多