Bootstrap 5 ReferenceError:未定义引导程序

Rim*_*est 14 twitter-bootstrap

我刚刚完成安装 bootstrap 5 版本^5.0.0-alpha1并导入 bootstrapapp.js

import "bootstrap"
Run Code Online (Sandbox Code Playgroud)

其他.js

var myModal = new bootstrap.Modal(document.getElementById('myModal'));
myModal.show();
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,它给我错误ReferenceError: bootstrap is not defined。

然后我尝试像这样在other.js 中导入引导程序

import bootstrap from "bootstrap"
Run Code Online (Sandbox Code Playgroud)

但是当我运行npm run dev错误时“在‘​​bootstrap’中找不到导出‘默认’(导入为‘引导程序’)

如果我像import { Modal } from "bootstrap"这样手动导入模态会给我错误“TypeError:非法调用”

小智 28

Bootstrap 5.1 + webpack 5:

app.js

import * as bootstrap from 'bootstrap';
window.bootstrap = bootstrap;
Run Code Online (Sandbox Code Playgroud)

或者如果您只需要模态:

import * as bootstrap from 'bootstrap';
window.Modal = bootstrap.Modal;
Run Code Online (Sandbox Code Playgroud)

然后你可以使用other.js像:

var myModal = new Modal(document.getElementById('myModal'));
myModal.show();
Run Code Online (Sandbox Code Playgroud)


Ala*_*ene 21

如果有人试图与 webpack 一起使用,这个解决方案对我有用。

window.bootstrap = require('bootstrap/dist/js/bootstrap.bundle.js');
Run Code Online (Sandbox Code Playgroud)

  • 我想知道为什么这个有效,但在 bootstrap 5 文档中没有关于这个的参考 (5认同)
  • 这在rails 6 `window.bootstrap = require("bootstrap")`中有效 Rails6 + webpacker + bootstrap 5 (3认同)

And*_*lko 8

对于工作的我来说

在应用程序/javascript/packs/application.js

window.bootstrap = require('bootstrap');
Run Code Online (Sandbox Code Playgroud)


kal*_*ech 6

如果您使用:

    import { Modal } from 'bootstrap'
Run Code Online (Sandbox Code Playgroud)

那么要使用的语法将是:

    let myModal = new Modal(document.getElementById('myModal'));
    myModal.show();
Run Code Online (Sandbox Code Playgroud)

为我工作,使用Vite和 bootstrap-5.0.0-beta1进行相对简单的设置。


小智 5

在 app.js 之后

import 'bootstrap';
Run Code Online (Sandbox Code Playgroud)

插入这两行

import * as bootstrap from 'bootstrap';
window.bootstrap = bootstrap;
Run Code Online (Sandbox Code Playgroud)