如何将 bootstrap 5 javascript 个插件导入 Meteor-Svelte 项目

How to import bootstrap 5 javascript plugins into Meteor-Svelte project

我正在为一个项目使用 Meteor-Svelte-Bootstrap 组合,但我无法使 bootstrap 的 javascript 插件正常工作。

我有标准的 Meteor 1.12.1 + Svelte 3 应用程序结构(非常类似于 this one),bootstrap 5.0.0-beta1 通过 meteor npm 安装为节点模块。我在我的 client/main.scss 文件中通过 @import 导入 bootstrap.scss:

@import "../node_modules/bootstrap/scss/bootstrap.scss";

到目前为止一切正常。但是我找不到导入某些组件所需的 bootstrap javascript 插件的正确方法(例如可折叠导航栏)。

我尝试了以下所有方法均未成功:

None 这些作品。当我尝试导入 node_modules/bootstrap/dist/js/bootstrap*.js 文件时,导入文件的第一个字符出现语法错误(奇怪)。当我使用 CDN 或导入 bootstrap 时,没有显示错误,但 bootstrap javascript 不起作用。

有人可以建议这样做的正确方法吗?谢谢。

我没有使用 Meteor,但我使用的是 Svelte 3,Bootstrap 5,Rollup。通过使用导入,我能够使导航栏下拉菜单正常工作。一个重要的部分是确保您安装了@popperjs/core 包。

npm i bootstrap @popper/core

然后您需要在父组件中包含 bootstrap 的导入,然后再尝试使用它。我正在使用其中包含我的导航栏组件的页面插槽,所以我的页面看起来像这样。

<script>
  import 'bootstrap';
  import '../components/bootstrap-custom.scss';
  import PageSlot from '../components/PageSlot.svelte'
  export let name;
</script>

<style>
</style>

<PageSlot>
  <h1>Hello {name}!</h1>
  <p>Main Svelte-Page</p>
  <button class="btn btn-primary">Button</button>
</PageSlot>

一个小小的免责声明,这不是生产设置,而是概念验证项目,因此可能有人对此有更好的配置,但这确实有效。还应该提到有一个库 sveltestrap 将 bootstrap 组件包装在 svelte 组件中。