我将 bundleconfig.json
添加到ASP.NET Core应用程序中。它具有以下结构:
[
{
"outputFileName": "wwwroot/js/main.min.js",
"inputFiles": [
"wwwroot/js/scripts/first.js",
"wwwroot/js/scripts/second.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]
这两个脚本均已缩小,并合并为
main.min.js
。但是,最小化之后,所有async
修饰符都已从结果脚本中删除。功能如
async function foo() {
await /* some promise */;
}
已经变成:
function foo() {await /*some promise*/;}
如何避免删除
async
修饰符? 最佳答案
我转载了这个问题,并尝试使用ES6 specifications
和更高版本来缩小一个简单的js文件。
Test.js
async function foo() {
await bar();
}
async function bar() {
for (var i = 0; i < 10; i++) { // do some work
}
}
然后我尝试使用Bundler and Minifier工具缩小文件,然后抛出此错误:
这意味着 Bundler和Minifier不支持ES6规范及更高版本。
为了进行确认,我开始在Github中搜索此问题,并且发现了相同的行为
我可以肯定地说这是Transpilers问题
最常见且用途最广泛的一种是TypeScript
在某些情况下,将
TypeScript
转换为ES6
,然后再转换为ES5
例如:,如果您将Target设置为
ES6
并将ES2015
设置为Transpiles为ES5
。但是,如果您定位到ES2020
,则不会转换您的代码。在末尾
最小化因此,没有办法通过以下方式最小化ES6和更高版本的代码
使用Bundler和Minifier。除非,否则作者决定支持它。
async
等未知关键字,但会抛出错误关于javascript - ASP.NET Core BundlerMinifier缩小后删除异步修改器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60035342/