NodeJS 如何将ES模块导出重命名为不是有效标识符的字符串文字

ni65a41a  于 2022-12-12  发布在  Node.js
关注(0)|答案(2)|浏览(119)

根据MDN文件,
可以使用字符串文字将名称重命名为无效标识符。例如:

export { myFunction as "my-function" };

然而,我在VSCode中得到了一个关于此代码的错误:

出了什么问题,如何让它发挥作用?
我尝试将其导入到另一个文件中,如下所示:

import { "my function" as func} from "./test.js";

console.log(func());

然后用node运行第二个文件。令人惊讶的是,它输出正确的1。这是否意味着node.js支持这种语法,而TypeScript不支持?

  • 节点v16.15.0
  • TypeScript编译器v4.8.4(仅用于检查,无泄漏)
wz3gfoph

wz3gfoph1#

在导出中使用字符串说明符是ES2022的一个相当大的问题。
它已经在引擎中实现了很长一段时间,并且从v7.12开始就得到了Babel的支持,但是还没有在TypeScript中实现。目前计划在4.8里程碑中实现an open issue

omvjsjqw

omvjsjqw2#

是的,的确如此。
MDN是关于JavaScript的,而不是TypeScript。
NodeJS也执行JavaScript。

相关问题