popper.js dalam bootstrap 4 memberikan ekspor token SyntaxError Unexpected


99

Saya mencoba menginstal bootstrap 4, dan menyertakan tautan berikut

<script src="libs/jquery/dist/jquery.min.js"></script>
<script src="libs/tether/dist/js/tether.min.js" ></script>
<script src="libs/popper.js/dist/popper.js"></script>
<script src="libs/bootstrap/dist/js/bootstrap.min.js" ></script>

Tetapi kesalahan berikut terjadi:

SyntaxError tidak tertangkap: Ekspor token tidak terduga

masukkan deskripsi gambar di sini

Ada ide bagaimana cara memperbaikinya?


Saya tidak tahu, file bootstrap membutuhkannya
Павел Шиляев

tidak, saya telah menggunakan bootstrap tetapi tidak pernah meminta kepada saya
Ashish sah

1
versi terakhir ditanyakan
Павел Шиляев

baik jika demikian maka saya akan memberitahu menggunakan link CDN
Ashish sah

masalah adalah bahwa saya tidak seharusnya menggunakan tautan CDN saat keras di pasar
Павел Шиляев

Jawaban:


34

Saya mengalami masalah yang sama jika saya menggunakan popper.js dari jaringan CDN seperti cdnjs.

Jika Anda mengamati kode sumber dari Bootstrap 4contoh seperti misalnya Navbar, Anda dapat melihat yang popper.min.jsdimuat dari:

<script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js"></script>

Saya memasukkannya ke dalam proyek saya dan kesalahannya hilang. Anda dapat mengunduh kode sumber dari

https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js

dan sertakan dalam proyek Anda sebagai file lokal dan seharusnya berfungsi.


Iya. Kamu benar. Saya sudah menyalin dan menempelkan kode itu dan kesalahannya hilang. CDN tidak menentukan versi spesifikpopper.js
Fabrizio Bertoglio

2
Meskipun berhasil, saya rasa ini bukan cara yang tepat, sampai tim BootStrap memperbarui kodenya sendiri.
Nadeem Jamali

8
URL di atas mengembalikan kesalahan tidak ditemukan (404). Saya menggunakan getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js untuk Bootstrap 4.1.3 dan ini menyelesaikan masalah bagi saya.
Mike Strother

1
Menggunakan teknik yang disarankan dalam jawaban ini seperti mengejar target yang bergerak. Jawaban yang benar diberikan oleh Marc dan Zim.
nagu

sayangnya ini tidak berfungsi lagi. Kesalahan hilang, tetapi tooltip adalah tooltip HTML default
deanwilliammills

244

Dapatkan ini juga dan pikirkan mengapa itu benar-benar terjadi. Jika orang lain lewat di sini:

Periksa readme.md "Usage". Lib tersedia dalam tiga versi untuk tiga pemuat modul yang berbeda. Singkatnya: jika Anda memuatnya dengan <script>tag maka Anda harus menggunakan versi UMD . Anda dapat menemukannya di /dist/umd. Default (dalam /dist) adalah ESNext (ECMA-Script) yang tidak dapat dimuat menggunakan scripttag.


5
Terima kasih. Singkirkan kesalahan untuk saya dengan mengubah ke file umd.
pengguna1500321

4
Mengubah referensi ke file di bawah folder
umd

16
Ini seharusnya jawaban yang diterima. Hebat. Terima kasih banyak telah berbagi.
Ajay Kumar

3
Seperti di atas, ini adalah jawaban sebenarnya.
Ron

1
Luar biasa atas bantuan cepatnya, terima kasih. Saya bertanya-tanya apa folder / umd dan / esm ini tetapi Google tidak memberikan hasil yang baik.
Blackbam

88

Bootstrap 4 membutuhkan versi UMD popper.js, dan pastikan urutannya sebagai berikut:

<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="~/Scripts/jquery-3.0.0.min.js"></script>
<script src="~/Scripts/umd/popper.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>

Versi UMD adalah satu-satunya tautan CDN yang menghapus kesalahan.
nyusternie

Terima kasih sobat! Pemesanan Anda memperbaiki masalah saya. Bersulang!
Noobie

17

Anda juga dapat menambahkan bootstrap.bundle.min.js dan menghapus popper.js di html Anda.

File JS yang dibundel ( bootstrap.bundle.jsdan diperkecil bootstrap.bundle.min.js) termasuk [Popper] ( https://popper.js.org/ ), tetapi tidak jQuery .


2
bootstrap.bundle.min.jstermasukpopperjs
vuhung3990

jawaban terbaik karena tidak memerlukan penggunaan perpustakaan Popper.js tambahan sama sekali
BuddyZ

10

Baris 96 di README

Dist target

Popper.js saat ini dikirimkan dengan 3 target dalam pikiran: UMD, ESM dan ESNext.

  • UMD - Definisi Modul Universal: AMD, RequireJS dan global;
  • ESM - ES Modules: Untuk webpack / Rollup atau browser yang mendukung spesifikasi;
  • ESNext: Tersedia dalam dist/, dapat digunakan dengan webpack dan babel-preset-env;

Pastikan untuk menggunakan yang tepat untuk kebutuhan Anda. Jika Anda ingin mengimpornya dengan <script>tag, gunakan UMD.


Menggunakan file popper.min.js yang terletak di direktori UMD menyelesaikan masalah saya saat menginstal popper melalui npm. Terima kasih!
Kickin_Wing

6

Anda memiliki kode berikut di Bundle Config bundles.Add (new ScriptBundle ("~ / bundles / jquery"). Include ("~ / Scripts / jquery- {version} .js"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"));

        // Use the development version of Modernizr to develop with and learn from. Then, when you're
        // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                    "~/Scripts/umd/popper.min.js",
                  "~/Scripts/bootstrap.js",
                  "~/Scripts/respond.js"));

kode berikut di html tata letak

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")

Ini berhasil untuk saya

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.