ブートストラップ4のpopper.jsはSyntaxErrorを提供します予期しないトークンのエクスポート


98

ブートストラップ4をインストールしてみましたが、次のリンクが含まれていました

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

ただし、次のエラーが発生します。

キャッチされない構文エラー:予期しないトークンのエクスポート

ここに画像の説明を入力してください

それを修正する方法はありますか?


私は、ブートストラップファイルがそれを必要とし、知らない
ПавелШиляев

いいえ、私はブートストラップを使用したことがありますが、それは私に尋ねたことはありません
Ashish sah 2017

1
最後のバージョンは尋ねた
ПавелШиляев

そうであれば、CDNリンクを使用するように伝えます
Ashish sah 2017

probleは、私は市場に出回っているときuploud CDNリンクを使用することになっていないよということです
ПавелШиляев

回答:


33

のようなCDNネットワークからpopper.jsを使用すると、同じ問題が発生しましたcdnjs

Bootstrap 4たとえばNavbarのような例のソースコードを観察すると、次の場所popper.min.jsからロードされていることがわかります。

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

それをプロジェクトに含めたところ、エラーはなくなりました。ソースコードはからダウンロードできます

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

プロジェクトにローカルファイルとして含めると、機能するはずです。


はい。あなたが正しいです。そのコードをコピーして貼り付けると、エラーが消えます。CDNは、特定のバージョンを指定していませんpopper.js
Fabrizio Bertoglio 2017

2
それは機能しますが、BootStrapチームが独自のコードを更新するまで、これは適切な方法ではないと思います。
Nadeem Jamali 2017

8
上記のURLはnotfoundエラー(404)を返します。Bootstrap 4.1.3にgetbootstrap.com/docs/4.1/assets/js/vendor/popper.min.jsを使用しましたが、これで問題が解決しました。
Mike Strother 2018

1
この回答で提案されている手法を使用することは、動くターゲットを追いかけるようなものです。正解はマークとジムによって提供されます。
Naguの

残念ながら、これはもう機能しません。エラーがなくなっていますが、ツールチップは、デフォルトのHTMLのツールチップである
deanwilliammills

243

これも手に入れて、なぜそれが実際に起こるのかを理解しました。他の人がここを通り抜ける場合:

readme.mdの「使用法」を確認してください。libは、3つの異なるモジュールローダー用に3つのバージョンで利用できます。つまり、<script>タグを付けてロードする場合は、UMDバージョンを使用する必要があります。あなたはそれを見つけることができます/dist/umd。デフォルト(in /dist)はESNext(ECMA-Script)であり、scriptタグを使用してロードすることはできません。


5
ありがとうございました。umdファイルに変更して、エラーを取り除きました。
user1500321 2018

4
umdフォルダーの下のファイルへの参照を変更すると、私の問題が解決しました
Vimalan Jaya Ganesh 2018

16
これは受け入れられた答えであるはずです。驚くばかり。共有していただきありがとうございます。
Ajay Kumar

3
上記のように、これが本当の答えです。
ロン

1
迅速なサポートに感謝します。この/ umdフォルダーと/ esmフォルダーが何であるか疑問に思っていましたが、Googleは良い結果を出していません。
ブラックバム

88

Bootstrap 4にはのUMDバージョンが必要でありpopper.js、順序が次のとおりであることを確認してください。

<!-- 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バージョンは、エラーを削除した唯一のCDNリンクです。
nyusternie 2018年

相棒、ありがとな!ご注文で問題が解決しました。乾杯!
ヌービー

17

また、bootstrap.bundle.min.jsを追加し、htmlからpopper.jsを削除することもできます。

バンドルされているJSファイル(bootstrap.bundle.jsおよび縮小bootstrap.bundle.min.js)には[Popper]https://popper.js.org/)が含まれていますが、jQueryは含まれていません。


2
bootstrap.bundle.min.js含まれるpopperjs
vuhung39 9019年

それがすべてで、追加Popper.jsライブラリを使用する必要がないので、最良の答え
BuddyZ

10

READMEの96行目

遠方のターゲット

Popper.jsは現在、UMD、ESM、ESNextの3つのターゲットを念頭に置いて出荷されています。

  • UMD-ユニバーサルモジュール定義:AMD、RequireJS、およびグローバル。
  • ESM-ESモジュール:仕様をサポートするwebpack / Rollupまたはブラウザー用。
  • ESNext:で利用可能でdist/、webpackおよびbabel-preset-env;で使用できます。

ニーズに合ったものを使用してください。<script>タグ付きでインポートする場合は、UMDを使用してください。


UMDディレクトリにあるpopper.min.jsファイルを使用すると、npm経由でpopperをインストールするときに発行された問題が解決されました。ありがとうございました!
Kickin_Wing

6

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"));

レイアウトhtmlの次のコード

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

これは私のために働いた

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.