![](/img/trans.png)
[英]“Uncaught ReferenceError: $ is not defined” Error on Bootstrap Page
[英]Bootstrap 4: Uncaught ReferenceError: Popper is not defined
我已經使用 Node 和 Gulp 安裝了 Bootstrap 4,並且在運行應用程序時出現以下錯誤
未捕獲的 ReferenceError:未定義 Popper
到目前為止,我只使用了 Bootstrap 網格系統,我還沒有使用任何需要 Bootstrap JS 的東西。 在我看來,Bootstrap 缺少某些東西,或者我沒有正確安裝它(老實說,這可能是我) - 有沒有其他人遇到過同樣的問題或根本不知道修復方法?
自 Bootstrap beta 2 發布以來,我們添加了兩個新的 dist 文件: bootstrap.bundle.js
和bootstrap.bundle.min.js
,其中包含Popper.js
另外使用此鏈接查找最新版本的 Popper.js: https ://cdnjs.com/libraries/popper.js 因為上面鏈接的版本(1.8.2)很舊,最新的是 1.12.9
順便說一句,您應該選擇 Popper.js 的 UMD 版本,因為它是 Bootstrap 使用的版本
在已經使用bootstrap.bundle.js popper.js NPM路徑'引導/距離/ JS / bootstrap.bundle.js'。
對於那些在 Webpack 上遇到此問題的人:在您的入口文件中,
import 'bootstrap'確實給出了錯誤。 您需要刪除它並將其替換為import 'bootstrap/dist/js/bootstrap.bundle.js'
這已經足夠了,您不需要單獨導入 Popper。 這適用於引導程序 4.0.0.beta2
就我而言,事實證明應該在bootstrap.js之前調用popper.js腳本。
<script src="https://../popper.js/1.12.3/umd/popper.min.js"></script>
<script src="https://../bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
我遇到了同樣的問題,並且在一個簡單的輪播上玩了半天。 Mac 上的 Safari 沒有正確提供反饋,因為庫優先:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
回顧我遇到的錯誤“你需要在 BS 之前使用 JQ 才能工作”,所以我嘗試了它,還將Popper
放在 BS 之前。
所以我在我的<head>
擁有所有這些,並且它奏效了。
1-復制此頁面上的代碼: https : //cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js
2-Past 新文件並保存此名稱 (popper.min.js)
3-在引導腳本之前在 html 上添加腳本:
<script src="popper.min.js"></script>
<script src="bootstrap.js"></script>
我有同樣的。 我在 Rails 上,我從https://github.com/twbs/bootstrap-rubygem安裝了 bootstrap 4 gem。 我只是首先在 application.js 中提出 popper 要求,如下所示:
//= require popper
//= require jquery3
//= require jquery_ujs
//= require bootstrap-sprockets
//= require bootstrap
對於那些在這里並試圖將 popper v2 添加到 Laravel 的人
"popper.js": "^1.12"
,因此刪除此字符串
@popperjs
范圍名稱。 如果您在項目中使用了任何 v1 poppers,請遵循文檔中的遷移指南 v1 到 v2。 UPD :引導程序需要此 sht。 所以,我必須在刪除后重新安裝它。 跳過這一步。npm i @popperjs/core
window.Popper = require('@popperjs/core')
npm run dev
重建你的 jslet _instance = Popper.createPopper(element, tooltip, {})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.