为什么 ES6 JavaScript 运行 在本地部署到服务器后来自 VS 而不是来自同一浏览器

Why does ES6 JavaScript run locally from VS and not from same browser after deployed to server

我已经使用 VS2019 构建了一个 .NET Core 应用程序。在应用程序的 JS 文件中,我在几个地方使用了 let 关键字。示例 let x = 2 在调试时,我将 VS 设置为 运行 我桌面上安装的 Chrome 版本(使用 file.js)并且一切正常。一旦我将应用程序部署到服务器(并使用 file.min.js),浏览器就不再识别 let 关键字。

知道为什么使用相同的浏览器,它在部署时降级为 ES5,但 运行 在本地正确使用 ES6 吗?

更新:
要重现此问题,请使用市场扩展 BundlerMinifier

缩小以下代码时,在转换中使用了同名变量,导致 JavaScript 最小化文件中出现错误。

在 .js 文件中创建一个 ajax 调用来检索一些数据。 数据检索成功后,从返回值中循环遍历数组。

循环使用此语言for(let accts of data.accounts)

当前行为:
for(let accts of data.accounts) 最小化为 for(let t of t)
变量和数组 属性 以相同的名称结尾。

预期行为
for(let accts of data.accounts) 最小化为 for(let a of b)
变量和 属性 应该有不同的名称

我相信我已经找到了我自己问题的答案。

我正在使用的最小化插件的代码中似乎存在错误。

我在 GitHub 存储库中创建了一个错误问题,可以在此处找到: Issue with minimize transforming to object to the same name #580

简而言之,真正的问题不在于 let 关键字,而在于它调用的变量与同一范围内的另一个变量同名。