[英]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 預期表達式:)
如何解決?
這是一個已知的問題。 盡管此提交顯示 BuildBundlerMinifier 應該解決該問題,但它尚未支持async/await
。 見#311和#379 。
實際上,BuildBundlerMinifier使用 C# 解析 JavaScript (參見NUglify/JavaScript )。 然而,JavaScript 本身發展得非常快(參見tc39/proposals )。 這就是為什么第 3 方 .NET 庫無法及時支持新的 JavaScript 功能的原因。 因此,現在人們傾向於將他們的工具鏈遷移到 Node.js 平台以支持最新的 JavaScript 功能。
通常,即使BuildBundlerMinifier
不支持最新的 JavaScript 功能,也不會有問題。 因為有些瀏覽器也不支持最新的功能。 例如,人們不會直接在瀏覽器中使用async/await
,因為它會在 IE11 上運行(參見MDN )。 因此,一個快速而骯臟的解決方法是使用舊的Promise
API,而不是直接在瀏覽器中使用async/await
。
更強大的方法是使用 Node.js 平台。 例如, Babel /Gulp / .... Microsoft 提供了一個使用 Gulp 使用bundleconfig.json
的示例。 遷移工具鏈很容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.