Próbowałem zainstalować bootstrap 4 i zamieściłem następujące linki
<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>
Ale pojawia się następujący błąd:
Uncaught syntaxError: Nieoczekiwany eksport tokenu
Jakieś pomysły, jak to naprawić?
javascript
twitter-bootstrap
bootstrap-4
popper.js
Павел Шиляев
źródło
źródło
Odpowiedzi:
Napotkałem ten sam problem, jeśli używam popper.js z sieci CDN, takiej jak
cdnjs
.Jeśli przyjrzysz się kodowi źródłowemu
Bootstrap 4
przykładów, takich jak na przykład Navbar , zobaczysz, żepopper.min.js
jest ładowany z:<script src="https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js"></script>
Uwzględniłem to w swoim projekcie i błąd zniknął. Możesz pobrać kod źródłowy z
https://getbootstrap.com/docs/4.1/assets/js/vendor/popper.min.js
i dołącz do projektu jako plik lokalny i powinno działać.
źródło
popper.js
Właśnie to zrozumiałem i pomyślałem, dlaczego tak się naprawdę dzieje. W przypadku, gdy inni tu dotrą:
Sprawdź plik readme.md „Użycie”. Biblioteka jest dostępna w trzech wersjach dla trzech różnych ładujących modułów. Krótko mówiąc: jeśli załadujesz go z
<script>
tagiem, musisz użyć wersji UMD . Możesz go znaleźć w/dist/umd
. Domyślnie (in/dist
) jest ESNext (ECMA-Script), którego nie można załadować za pomocąscript
tagu.źródło
Bootstrap 4 wymaga wersji UMD
popper.js
i upewnij się, że kolejność jest następująca:<!-- 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>
źródło
Możesz także dodać plik bootstrap.bundle.min.js i usunąć popper.js w swoim html.
Dołączone pliki JS (
bootstrap.bundle.js
i zminimalizowanebootstrap.bundle.min.js
) obejmują [Popper] ( https://popper.js.org/ ), ale nie jQuery .źródło
bootstrap.bundle.min.js
w zestawiepopperjs
Wiersz 96 w README
Odległe cele
Popper.js jest obecnie dostarczany z myślą o 3 celach: UMD, ESM i ESNext.
dist/
, może być używane z pakietem webpack ibabel-preset-env
;Upewnij się, że używasz odpowiedniego do swoich potrzeb. Jeśli chcesz zaimportować go ze
<script>
znacznikiem, użyj UMD.źródło
Masz następujący kod w Bundle Config bundles.Add (nowy ScriptBundle ("~ / bundles / jquery"). Include ("~ / Scripts / jquery- {wersja} .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"));
następujący kod w układzie html
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap")
To zadziałało dla mnie
źródło