私は昔の学校なので、ソースコードを1.12.0にダウンロードしてから、次のようにしました。
<script src="/popper.js-1.12.0/dist/popper.js"></script>
<script src="/bootstrap-4.0.0-beta/dist/js/bootstrap.js"></script>
しかし、私はなってきました:
Uncaught SyntaxError: Unexpected token export
2294
行の次のようになります。
export default Popper;
package.json
ファイルにmain
エントリ で指定されているdistターゲットを使用します。
この場合、あなたはumd
build( dist/umd/popper.js
)を探しています。
MDパターン は通常、その日の最も人気のあるスクリプトローダーとの互換性を提供しようとします(例えばRequireJSなど)。多くの場合、ベースとしてAMDを使用し、CommonJSとの互換性を処理するために特別な大文字と小文字の区別が追加されています。
つまり、UMDバンドルは<script>
タグを介してロードでき、グローバルスコープ(window
)内に挿入できますが、RequireJSなどのCommonJSローダーを使用しても必要に応じて機能します。
これらのCDNバージョンのどちらでも動作します。
https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.5/umd/popper.jshttps://cdnjs.cloudflare.com/ajax/ libs/popper.js/1.12.5/umd/popper.min.js
他の回答/コメントはバージョンについて言及していますが、問題はバージョン管理に関連していません。
Bootstrapのpopperを含む例 を使うのは決して悪い習慣ではありません。現在のBootstrap 4は安全な選択であるpopper 1.11を推奨しています、しかしバージョン1.12.5も同様にうまくいくはずです。
サイドノート:なぜumd、esm、そして普通の 'popper'ファイルと混同されるのですか?その意図は柔軟なモジュールパッケージングですが、実際にはもっと簡単にすることができます。 この記事 新しいモジュールタイプに関する問題のいくつかを説明しています。
Bootstrapのドキュメントで参照されているPopper.jsバージョンを必ず使用してください。
https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js
popper docs に従って:
Popper.jsは現在、UMD、ESM、ESNextの3つのターゲットを念頭に置いて出荷されています。
UMD - ユニバーサルモジュールの定義:AMD、RequireJS、およびグローバル。
ESM - ESモジュール:仕様をサポートするwebpack/Rollupまたはブラウザ用。
ESNext:dist /で利用可能で、webpackとbabel-preset-envで使用できます。必要に応じて適切なものを使用してください。タグ付きでインポートしたい場合は、UMDを使用してください。
ブートストラップのバンドル版とあなたの良いものを使用するだけです。
<script src="./node_modules/jquery/dist/jquery.min.js"></script>
<!-- <script src="./node_modules/popper.js/dist/popper.min.js"></script> -->
<!-- <script src="./node_modules/bootstrap/dist/js/bootstrap.min.js"></script> -->
<script src="./node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
私は同じ問題を抱えていました。さまざまな方法を試してみましたが、これは私にとって役に立ちました。 http://getbootstrap.com/ から説明を読んでください。
CDNリンク(jQuery、Popper、Bootstrap)を同じ順序でコピーします(重要です)。
<head>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
</head>
フェズブラスタに従って。
Visual Studio内のNuGet Package Managerからpopperを取得する場合は、popper.jsスクリプトの参照パスがmdフォルダーを使用していることを確認してください。
MVC ASP.Net BundleConfigの例:
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/umd/popper.js", //path with umd
"~/Scripts/bootstrap.js",
"~/Scripts/respond.js"));
直接のスクリプト参照例
<script src="~/Scripts/umd/popper.js" type="text/javascript"></script>
別のコンテナ:
あなたが受け入れられた答えに従ってもあなたのツールチップがまだ間違った場所にあるなら、それはおそらくあなたがそれぞれのツールチップのために異なるコンテナを持っているからです。
これを試して、ツールチップを配置できるようにします要素の親の近く:
const initializeTooltips = function () {
$('[data-toggle="tooltip"]').each(function() {
$(this).tooltip({container: $(this).parent()});
});
};
$(document).ready(function () {
initializeTooltips();
});
自分で試してみてください jsfiddle 。