JavaScript中的通配符导入..它是否在引擎盖下使用"with"工作?



所以我知道导入可以用require代替。

import {x} from 'x'相当于const {x} = require('x')

但是import * from 'x'呢? 我唯一能想象它被翻译成的就是with(require('x')){... }

然而,with声明是不受欢迎的,不是吗?(因为您不知道在编译时如何解析引用)

import * from "x";

不是有效的 JS。

import * as x from "x";

是。

这与

import x from "x";

好吧,后者要求您具有默认导出,而前者则采用所有导出并将它们分组到一个对象中。

我认为您的语法混淆了。这:

import * from 'x'

无效。您可以做的是:

import * as x from 'x';

这会将x文件中的所有导出放入命名空间(在大多数情况下,它只是一个 JavaScript 对象,其属性和default对应于导出的名称)。导入的x标识符引用此命名空间。

import {x} from 'x'相当于const {x} = require('x').

不正确 -require是 CommonJS 语法,import/export是 ES6 模块语法。默认情况下,它们不可互换,尽管它们执行非常相似的事情。

相关内容

  • 没有找到相关文章

最新更新