Bootstrap Webpack的引导表错误:无法设置未定义的属性

zu0ti5jz  于 2023-09-28  发布在  Bootstrap
关注(0)|答案(1)|浏览(108)

我正在尝试将BootstrapTable库与Webpack一起使用。这似乎与如何处理Jquery有关,但我不是100%确定。
我得到以下错误(在我尝试添加任何HTML表之前-但示例表看起来也没有处理)

Uncaught TypeError: Cannot set properties of undefined (setting 'BootstrapTable')
    at bootstrap-table.js:8541:21
    at bootstrap-table.js:4:102
    at ./node_modules/bootstrap-table/dist/bootstrap-table.js (bootstrap-table.js:5:2)
    at __webpack_require__ (bootstrap:19:1)
    at vendors-8eb79120f29fcd7dbd35.js:32570:97
    at vendors.js:4:20
    at vendors.js:4:20

vendor.js文件如下所示:

import jQuery from 'jquery'
window.jQuery = jQuery;
import '@popperjs/core';
import 'bootstrap';
import 'bootstrap-table/dist/bootstrap-table.js'

我也试过:

import $ from 'jquery';
window.jQuery = $;
global.jQuery = $;
window.$ = $;

我的设置似乎遵循这些指示:https://bootstrap-table.com/docs/vuejs/webpack/
我还尝试使用webpack插件在默认情况下包含Jquery

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

但这似乎并不重要。
请帮我弄清楚为什么我不能导入此软件包。
注意:我认为这与Jquery导入有关-我试图在“webpack bundle”之前从CDN直接将JQuery导入到我的HTML文件中,它修复了错误。但我想正确地使用Webpack。

<script src="https://cdn.jsdelivr.net/npm/jquery/dist/jquery.min.js"></script>
eqqqjvef

eqqqjvef1#

这是因为你的jQuery是在BootstrapTable之后加载的,你必须重新排序你的js文件。要解决这个问题,创建2个文件,例如,在您的资产的js文件夹中
js/boootstrap-table.js

import 'bootstrap-table'

js/jquery.js

import $ from 'jquery';
global.$ = $;
global.jQuery = $;

然后在app.js中,在Bootstrap表之前加载jquery
app.js

import './js/jquery';
import './js/bootstrap-table'

相关问题