popper.js in bootstrap 4 给出 SyntaxError Unexpected token export
popper.js in bootstrap 4 gives SyntaxError Unexpected token export
我尝试安装 bootstrap 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>
但是出现以下错误:
Uncaught syntaxError: Unexpected token export
有什么解决办法吗?
如果我使用 cdnjs
等来自 CDN 网络的 popper.js,我遇到了同样的问题。
如果您观察 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
并作为本地文件包含在您的项目中,它应该可以工作。
我也收到了这个消息,并弄清楚了为什么会发生这种情况。以防其他人路过这里:
检查 readme.md "Usage"。该库可用于三个不同的模块加载器的三个版本。简而言之:如果您使用 <script>
标签加载它,那么您必须使用 UMD 版本。您可以在 /dist/umd
中找到它。默认值(在 /dist
中)是 ESNext (ECMA-Script),它不能使用 script
标签加载。
Bootstrap 4需要popper.js
的UMD版本,确保顺序如下:
<!-- 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>
您在 Bundle Config 中有以下代码
bundles.Add(new ScriptBundle("~/bundles/jquery").包括(
"~/Scripts/jquery-{版本}.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")
这对我有用
您还可以在 html 中添加 bootstrap.bundle.min.js 并删除 popper.js。
捆绑的 JS 文件(bootstrap.bundle.js
和缩小的 bootstrap.bundle.min.js
)包括 [Popper](https://popper.js.org/), but not jQuery.
自述文件第 96 行
距离目标
Popper.js 目前考虑了 3 个目标:UMD、ESM 和 ESNext。
- UMD - 通用模块定义:AMD、RequireJS 和全局变量;
- ESM - ES 模块:对于 webpack/Rollup 或支持规范的浏览器;
- ESNext:在
dist/
中可用,可与 webpack 和 babel-preset-env
; 一起使用
确保使用适合您需要的那个。如果要使用 <script>
标签导入它,请使用 UMD。
我尝试安装 bootstrap 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>
但是出现以下错误:
Uncaught syntaxError: Unexpected token export
有什么解决办法吗?
如果我使用 cdnjs
等来自 CDN 网络的 popper.js,我遇到了同样的问题。
如果您观察 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
并作为本地文件包含在您的项目中,它应该可以工作。
我也收到了这个消息,并弄清楚了为什么会发生这种情况。以防其他人路过这里:
检查 readme.md "Usage"。该库可用于三个不同的模块加载器的三个版本。简而言之:如果您使用 <script>
标签加载它,那么您必须使用 UMD 版本。您可以在 /dist/umd
中找到它。默认值(在 /dist
中)是 ESNext (ECMA-Script),它不能使用 script
标签加载。
Bootstrap 4需要popper.js
的UMD版本,确保顺序如下:
<!-- 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>
您在 Bundle Config 中有以下代码 bundles.Add(new ScriptBundle("~/bundles/jquery").包括( "~/Scripts/jquery-{版本}.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")
这对我有用
您还可以在 html 中添加 bootstrap.bundle.min.js 并删除 popper.js。
捆绑的 JS 文件(bootstrap.bundle.js
和缩小的 bootstrap.bundle.min.js
)包括 [Popper](https://popper.js.org/), but not jQuery.
自述文件第 96 行
距离目标
Popper.js 目前考虑了 3 个目标:UMD、ESM 和 ESNext。
- UMD - 通用模块定义:AMD、RequireJS 和全局变量;
- ESM - ES 模块:对于 webpack/Rollup 或支持规范的浏览器;
- ESNext:在
dist/
中可用,可与 webpack 和babel-preset-env
; 一起使用
确保使用适合您需要的那个。如果要使用 <script>
标签导入它,请使用 UMD。