gpt4 book ai didi

c# - 在 ASP.NET Core 2.2 中使用异步缩小 js

转载 作者:行者123 更新时间:2023-12-04 10:36:39 26 4
gpt4 key购买 nike

我正在开发一个 ASP.NET Core 2.2 应用程序并使用 Bundler & Minifier 来缩小 js 代码。当我尝试添加 .js 时带有 async\await 操作的文件:

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

我收到很多错误:

Error 0 Expected ')': =>
Error 0 Expected ';'
Error 0 Expected expression: )
Error 0 Expected ')': =>
Error 0 Expected ';'
Error 0 Expected expression: )



如何解决?

最佳答案

  • 这是一个已知的问题。虽然这 commit显示 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/.... 微软提供了一个 sample消耗 bundleconfig.json使用 Gulp。迁移工具链很容易。
  • 关于c# - 在 ASP.NET Core 2.2 中使用异步缩小 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60149798/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com