簡體   English   中英

uncaught SyntaxError:意外的令牌導出它發生在popper.js:2371

[英]uncaught SyntaxError: Unexpected token export its happen at popper.js:2371

我是bootstrap和jquery的新手。 我正在嘗試使用數據表功能,如排序,而我運行我的代碼我在控制台中收到此錯誤:

uncaught SyntaxError: Unexpected token export at popper.js:2371 

我的popper.js版本是:1.14.3,我在我的布局中渲染它,如下所示:

<body>
    @Html.Partial("_navbar")
    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year -www.vidly.com @*My ASP.NET Application*@</p>
        </footer>
    </div>
 @*   @Scripts.Render("~/bundles/lib")*@
  @Scripts.Render("~/Scripts/jquery-3.3.1.js")
  @Scripts.Render("~/Scripts/DataTables/jquery.dataTables.min.js")
  @Scripts.Render("~/Scripts/DataTables/dataTables.bootstrap4.min.js")

  @Scripts.Render("~/Scripts/popper.js")
  @Scripts.Render("~/Scripts/bootstrap.js")
  @Scripts.Render("~/Scripts/bootbox.js")
  @Scripts.Render("~/Scripts/respond.js")
  @Scripts.Render("~/Scripts/DataTables/jquery.dataTables.js")
  @Scripts.Render("~/Scripts/DataTables/DataTables.bootstrap.js")
    @*@Styles.Render("~/Content/css")*@

    @RenderSection("scripts", required: false)
</body>

這是 我瀏覽器的圖片,這里有2個問題:1。為什么我收到此錯誤:

uncaught SyntaxError: Unexpected token export at popper.js:2371

2.為什么數據表的特征像頁碼和排序方法在我的瀏覽器中是不規則的。(正如你在圖片中看到的)這是我的css包:

 bundles.Add(new StyleBundle("~/Content/css").Include(

                      "~/Content/bootstrap-lumen.css",
                      "~/Content/DataTables/css/dataTables.bootstrap.css",
                      "~/Content/site.css"));

我在_layout中渲染它:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - My ASP.NET Application</title>
    @*@Scripts.Render("~/bundles/lib")*@
    @Styles.Render("~/Content/css") 
    @Scripts.Render("~/bundles/modernizr")
</head>
<body>
    @Html.Partial("_navbar")
    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; @DateTime.Now.Year -www.vidly.com @*My ASP.NET Application*@</p>
        </footer>
    </div>
    @Scripts.Render("~/bundles/lib")

    @RenderSection("scripts", required: false)
</body>
</html>

TIA

捆綁時popper.js上出現意外的令牌導出表明Popper庫需要相應JS文件的UMD構建版本 ,這里錯誤地設置了(可能你正在使用ESNext版本):

@Scripts.Render("~/Scripts/popper.js")

UMD版本導入是必要的,因為我們想要使用由官方頁面中所寫的捆綁機制( System.Web.Optimization )生成的<script>標簽來導入它。

如果要使用<script>標記導入它,請使用UMD。

以下是使用UMD版本和MVC捆綁的步驟:

1)從dist包中獲取UMD版本: https//unpkg.com/popper.js@1.14.4/dist/umd/

2)將UMD包保存在/Scripts/umd文件夾中。

3)使用指定的路徑在RegisterBundles()方法中創建JS包,如下例所示:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
    "~/Scripts/jquery-*",
    // other jQuery scripts here
));

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
    "~/Scripts/umd/popper.js", // set to UMD version
    "~/Scripts/bootstrap.js",
    "~/Scripts/bootbox.js",
    "~/Scripts/respond.js",

    // other Bootstrap scripts here
));

4)在布局頁面中使用@Scripts.Render()幫助器來包含它們(注意腳本順序很重要):

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

注意:如果您正在尋找與UMD版本相比的ESNext版本的Popper.js ,您將在后者中看到此標題在前者中不存在:

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
    typeof define === 'function' && define.amd ? define(factory) :
    (global.Popper = factory());
}(this, (function () {
    // skipped for brevity
})));

function( global, factory )使Popper能夠使用<script>標記引用注入全局范圍,這成為UMD包使用的可能原因。

關於你的第二個問題,聽起來像CSS文件沒有正確包含。 請參閱“ 捆綁和縮小”部分以導入CSS捆綁包。

相關問題:

如何在Bootstrap 4 beta中使用Popper.js

bootstrap 4中的popper.js給出了SyntaxError Unexpected token export

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM