问题标签 [ecmascript-2017]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1260 浏览

babeljs - 如何在 Aurelia CLI 应用程序中 Babel Transpile Object.entries/values?

使用 IE11 时,在我的代码使用 Object.entries 或 Object.values 的任何地方都会出现如下错误:

未处理的拒绝类型错误:对象不支持属性或方法“条目”...

我认为我的问题源于代码未转译为 ES5,但不确定在使用 Aurelia CLI 时如何检查或更改我的项目设置以进行转译/Babel。

babel-preset-es2017进一步研究,我相信与 Aurelia 打包的 Babel/settings 不支持 Object.entries/values (或其他提议的ES2017 选项),所以我安装了babel-plugin-transform-runtime另一个线程 - Babel support for Object.entries

但是,我无法弄清楚如何更新项目以包含这些以进行编译。transform-runtimeaurelia.jsonor文件中添加.babelrc会破坏au run并简单地添加es2017.babelrc文件似乎没有做任何事情。我也在查看jsconfig.jsontranspile.js文件,但无法找到解决方案。

aurelia.json文件:

.babelrc文件:

添加transform-runtime任何一个都会导致以下错误:

错误:ENOENT:没有这样的文件或目录,打开 'C:\Users...\src\babel-runtime\helpers\classCallCheck.js'

不知道为什么我会收到这个错误或者修复它是否会有所帮助,但我的猜测可能是"source": src/**/*.js因为aurelia.json

任何帮助将不胜感激。谢谢!

0 投票
1 回答
8365 浏览

typescript - TypeScript TSConfig CompilerOptions ES2017 目标和库

我正在开发一个 TypeScript 项目,我们使用 ES2017 作为输出目标以及其中一个库,因为它将通过 Babel,我们希望支持任何“Env”的最新功能集我们的目标是 Babel。

一切似乎都很好,所以我不太担心。但是,我不知道幕后发生了什么或“lib”选项真正做了什么(除了告诉我的 IDE 我可以做什么,比如传播操作、承诺等),以及是否更多/指定 TypeScript 的最高输出然后编译到 Babel 中非常特定的目标效率较低。这也是通过 WebPack 进行的,所以我们正在利用 tree shaking 的优势。

第二个问题是,当库中包含“ES2017”时,是否包含 ES2015 和 ES2016 中的所有功能(换句话说,是否有任何理由将 ES2015 和/或 ES2016 包含在列表中?)

顺便说一句,在 Babel "Env" 中定位 "last 1 Chrome version" 时,它几乎不做任何转译,这非常令人兴奋。我们只是在构建原型,而不是生产代码,所以当我们需要支持它们时,我们会专门添加我们需要支持的浏览器,但几乎从不做任何不是 Chrome 的最后 1 或 2 个版本的事情。

0 投票
1 回答
9162 浏览

async-await - Babel ESLint:TypeError:无法读取 null 的属性“范围”

我使用 babel-eslint 来整理/修复我的代码。工作得很好,直到我想采用一些在这里async await找到的ES2017

我相应地更改了我的 React 应用程序,尽管略有不同:

我的 index.js 的相关部分:

我的店铺:

这是我的 .eslintrc:

这是我的.babelrc:

但无论我做什么:我不断收到以下错误:

我不完全确定该怎么做。我遇到了多个具有类似问题的 帖子,但直到现在这些都没有导致答案。

0 投票
2 回答
2418 浏览

node.js - 如何在 Heroku 上启用 ES2017 功能运行 Node.js 应用程序?

我是 Node 新手,并创建了一个应用程序,其中包含一些 async/await 语法,如下所示:

它在我的机器上运行良好,但是当我部署到 Heroku 时出现错误,因为不支持语法:

让 Heroku 支持这种语法的最简单方法是什么?

0 投票
2 回答
87 浏览

javascript - javascript async/await 版本与 Promise 版本的函数不起作用

我使用 async 实现了一个函数,但它不起作用。它总是立即解决并且result总是未定义的。

这是原始的异步版本:

我不知道为什么它不起作用,所以我使用 Promise 重写了它,它工作正常。

我很困惑,因为在我看来这两个实现应该是相同的(显然它们不是)。希望这是显而易见的,在此先感谢您的任何见解!

0 投票
2 回答
1374 浏览

javascript - 循环等待

我想运行以下代码:

我遇到的问题是res.send(Object.assign(transaction, { logs }));getEncodedLogs()返回处理后的Array. 我可以将其重写为,let logs = await getEncodedLogs(transaction.logs);但这会阻止该过程。有没有更好的办法?

0 投票
2 回答
9577 浏览

javascript - Promise.all 和 .map 函数的异步/等待无法按预期工作

我有很多async我正在使用的功能,但我遇到了一个奇怪的问题。

我的代码,工作,看起来像:

anotherAsyncFunc函数看起来像:

当我尝试将更多数据附加到第一个函数 ( mainAsyncFunc) 返回的内容时,我的问题就出现了。我的想法是map自然而然地在 .

如果不清楚,我会像往常一样获取文件本身,并将文件名附加到它,然后解析该对象。

出于某种原因,这将返回一个待处理的 Promise,而我希望它等待它们被实现,然后作为对象中的完整文件和名称返回。任何帮助理解我做错了什么将不胜感激。

0 投票
2 回答
1724 浏览

javascript - 支持 ES2017 async/await 功能的 Javascript minifier

目前显示为 UglifyJS2 和 Google Closure 不支持 JavaScript 缩小脚本,包括 async/await 使用而不转译它们。

有没有办法或其他缩小器来缩小这些 JavaScript 脚本而不需要转译它们?

0 投票
1 回答
58 浏览

promise - 等待和异步回调地狱

我想让 UserDataGenerator 类像传统的 SYNC 类一样工作。

我的期望是userData.outputStructure可以给我准备的数据。

getFieldDescribe(this.inputStructure.tableName, field)是一个 ASYNC 调用,它调用Axios.get

以下是我目前的进度,但是当我打印出userData.outputStructure

导出默认类 UserDataGenerator { inputStructure = null; 输出结构=空;fieldDescribeRecords = [];

0 投票
1 回答
16519 浏览

javascript - 使用 await 时出现意外的标识符

我目前正在尝试将 async/await 用于需要循环同步的函数。

这是功能:

当我尝试运行它时,我收到此错误:

可能是什么原因造成的?
谢谢!