如何在本地托管 popper.js

How to host popper.js locally

我刚刚升级到 Bootstrap 四级,然后意识到 Popper.js 是一个依赖项。我喜欢在本地托管库,因为我有时需要离线工作,但当我尝试离线使用它时,我收到错误 unexpected token export。但是,当我使用 Cloudflare CDN 版本时它可以工作,但是我如何在本地托管 popper.js?

(我不想为此使用包管理器。)

下载源码参考即可

the github page 获取源代码,然后在 html

中引用它
<script type="text/javascript" src="/path/to/downloaded/popper.js-1.12.5/dist/poppper.js" />

我也试过下载 popper 并尝试重现你的问题,你是对的。

如果您查看 getbootstrap.com 页面的“快速入门”部分,您可以在他们的示例中找到以下行:

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>

请注意 link 中的 umd 部分。您可以下载该文件并将其添加到本地,它会起作用。

PS - 您可能还需要更改 jQuery 导入。

README.md of the project 将帮助解决这个问题:

Dist targets

Popper.js is currently shipped with 3 targets in mind: UMD, ESM and ESNext.

  • UMD - Universal Module Definition: AMD, RequireJS and globals;
  • ESM - ES Modules: For webpack/Rollup or browser supporting the spec;
  • ESNext: Available in dist/, can be used with webpack and babel-preset-env;

Make sure to use the right one for your needs. If you want to import it with a <script> tag, use UMD.

因此,如果您想将 Popper.js 与 <script /> 标签一起使用,您需要使用它的 umd 版本。位于 dist/umd.

如果您下载 Popper.js 虽然

npm install popper.js

我发现 npm 包与其原始来源之间存在差异 https://popper.js.org/

我只是从原始来源下载 popper.js 并将其放入新的 js 文件。它对我有用。

您可以使用已经包含 Popper.js

的 bootstrap.bundle.min.js

点击本页第一个 link 下载官方 bootstrap 文件:

https://getbootstrap.com/docs/4.5/getting-started/download/

然后您可以使用 css 中的 bootstrap.bundle.min.css 文件,其中包含 popper.js 以及您可能需要的 bootstrap 代码

您可以通过在您的 <head> 标签中使用此代码来使用它:

<link rel="stylesheet" type="text/css" href="path-to/bootstrap-4.5.0/css/bootstrap.bundle.min.css">

我包含了 4.5.0,因为这是 bootstrap 今天的当前版本

转到:https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js 右键单击并“另存为...”

你也可以这样做:

https://cdnjs.cloudflare.com/ajax/libs/popper.js/[popper-version]/umd/popper.js

然后在您的代码中,在 Jquery 和 Bootstrap 的 .js link(脚本)之间的底部添加此行: