bootstrap 4'teki popper.js, SyntaxError Beklenmeyen token dışa aktarımı veriyor


99

Bootstrap 4'ü yüklemeyi denedim ve aşağıdaki bağlantıları dahil ettim

<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>

Ancak aşağıdaki hata oluşur:

Yakalanmamış sözdizimi Hatası: Beklenmeyen belirteç dışa aktarma

görüntü açıklamasını buraya girin

Bunun nasıl tamir edileceğine dair fikri olan?


Bilmiyorum, bootstrap dosyası bunu gerektiriyor
Павел Шиляев

hayır Bootstrap kullandım ama bana hiç sormadı
Ashish sah

1
son sürüm soruldu
Павел Шиляев

Eğer öyleyse, o zaman CDN bağlantılarını kullanmayı söyleyeceğim
Ashish sah

sorun şu ki, piyasada yüksek sesle CDN bağlantılarını kullanmamam gerekiyor
Павел Шиляев

Yanıtlar:


34

CDN ağından popper.js kullanırsam aynı sorunla karşılaştım cdnjs.

Bootstrap 4Örneğin Navbar gibi örneklerin kaynak kodunu gözlemlerseniz, bunun popper.min.jsşuradan yüklendiğini görebilirsiniz:

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

Bunu projeme dahil ettim ve hata gitti. Kaynak kodunu şuradan indirebilirsiniz:

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

ve projenize yerel bir dosya olarak ekleyin ve çalışmalıdır.


Evet. Haklısın. Bu kodu kopyalayıp yapıştırdım ve hata kayboluyor. CDN,popper.js
Fabrizio Bertoglio

2
Çalışsa da, BootStrap ekibi kendi kodunu güncelleyene kadar bunun doğru bir yol olmadığını düşünüyorum.
Nadeem Jamali

8
Yukarıdaki URL, bulunamadı hatası (404) döndürür. Bootstrap 4.1.3 için getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js kullandım ve bu benim için sorunu çözdü.
Mike Strother

1
Bu cevapta önerilen tekniği kullanmak hareketli bir hedefi kovalamaya benzer. Doğru cevabı Marc ve Zim veriyor.
nagu

maalesef bu artık çalışmıyor. Hata gitti, ancak araç ipucu varsayılan HTML araç ipucu
deanwilliammills

244

Bunu da aldım ve neden gerçekten olduğunu anladım. Başkalarının buraya gelmesi durumunda:

Readme.md "Kullanımını" kontrol edin. Kitaplık, üç farklı modül yükleyici için üç versiyonda mevcuttur. Kısacası: <script>etiketi ile yüklerseniz , UMD sürümünü kullanmanız gerekir . İçinde bulabilirsiniz /dist/umd. Varsayılan (in /dist), etiket kullanılarak yüklenemeyen ESNext (ECMA-Script) 'dir script.


5
Teşekkür ederim. Umd dosyasına geçerek benim için hatadan kurtuldum.
user1500321

4
Umd

16
Bu cevap kabul edilmiş olmalıydı. Harika. Paylaştığınız için çok teşekkürler.
Ajay Kumar

3
Yukarıdaki gibi, gerçek cevap budur.
Ron

1
Hızlı yardım için harika, teşekkürler. Bu / umd ve / esm klasörlerinin ne olduğunu merak ediyordum ama Google iyi sonuçlar vermiyor.
Blackbam

88

Bootstrap 4, UMD sürümünü gerektirir ve popper.jssıranın aşağıdaki gibi olduğundan emin olun:

<!-- 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>

UMD sürümü, hatayı kaldıran tek CDN bağlantısıdır.
nyusternie

Teşekkürler dostum! Siparişiniz sorunumu çözdü. Şerefe!
Noobie

17

Ayrıca bootstrap.bundle.min.js ekleyebilir ve html'nizdeki popper.js'yi kaldırabilirsiniz.

Paketlenmiş JS dosyaları ( bootstrap.bundle.jsve küçültülmüş bootstrap.bundle.min.js) [Popper] ( https://popper.js.org/ ) içerir, ancak jQuery içermez .


2
bootstrap.bundle.min.jsdahilpopperjs
vuhung3990

Ek Popper.js kitaplığının kullanılmasını gerektirmediğinden en iyi yanıt
BuddyZ

10

README'deki 96. satır

Dist hedefleri

Popper.js şu anda akılda 3 hedef ile gönderilmektedir: UMD, ESM ve ESNext.

  • UMD - Evrensel Modül Tanımı: AMD, RequireJS ve globaller;
  • ESM - ES Modülleri: Web paketi / Toplama veya spesifikasyonu destekleyen tarayıcı için;
  • ESNext: Webpack dist/ile kullanılabilir ve babel-preset-env;

İhtiyaçlarınız için doğru olanı kullandığınızdan emin olun. Bir <script>etiketle içe aktarmak istiyorsanız , UMD'yi kullanın.


UMD dizininde bulunan popper.min.js dosyasını kullanmak, popper'ı npm aracılığıyla kurarken verdiğim sorunu çözdü. Teşekkür ederim!
Kickin_Wing

6

Bundle Config bundles.Add (yeni 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"));

layout html'de aşağıdaki kodu

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

Bu benim için çalıştı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.