簡體   English   中英

在 ASP.NET Core 2.2 中使用異步縮小 js

[英]Minify js with async in ASP.NET Core 2.2

我正在開發一個 ASP.NET Core 2.2 應用程序並使用 Bundler & Minifier 來縮小 js 代碼。 當我嘗試使用 async\\await 操作添加.js文件時:

updatePermissionsConnection.onclose(
    async () => {
         await startUpdatePermissionsConnection();
    });

我收到很多錯誤:

錯誤 0 應為“)”:=>
錯誤 0 應為“;”
錯誤 0 預期表達式:)
錯誤 0 應為“)”:=>
錯誤 0 應為“;”
錯誤 0 預期表達式:)

如何解決?

  1. 這是一個已知的問題。 盡管此提交顯示 BuildBundlerMinifier 應該解決該問題,但它尚未支持async/await #311#379

  2. 實際上,BuildBundlerMinifier使用 C# 解析 JavaScript (參見NUglify/JavaScript )。 然而,JavaScript 本身發展得非常快(參見tc39/proposals )。 這就是為什么第 3 方 .NET 庫無法及時支持新的 JavaScript 功能的原因。 因此,現在人們傾向於將他們的工具鏈遷移到 Node.js 平台以支持最新的 JavaScript 功能。

  3. 通常,即使BuildBundlerMinifier不支持最新的 JavaScript 功能,也不會有問題。 因為有些瀏覽器也不支持最新的功能。 例如,人們不會直接在瀏覽器中使用async/await ,因為它會在 IE11 上運行(參見MDN )。 因此,一個快速而骯臟的解決方法是使用舊的Promise API,而不是直接在瀏覽器中使用async/await

  4. 更強大的方法是使用 Node.js 平台。 例如, Babel /Gulp / .... Microsoft 提供了一個使用 Gulp 使用bundleconfig.json示例 遷移工具鏈很容易。

暫無
暫無

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

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