Javascript NPM包在完全导入时未定义,但在解构时可以正常工作
我遇到了一个奇怪的问题,在node中导入textile/hub包,然后对其进行分解,程序会给出一个错误,但是当我在导入代码时进行分解时,根本不会出错。有人知道为什么会发生这种情况吗?导入时进行解构对程序来说很好,但我还是很好奇Javascript NPM包在完全导入时未定义,但在解构时可以正常工作,javascript,node.js,npm,import,Javascript,Node.js,Npm,Import,我遇到了一个奇怪的问题,在node中导入textile/hub包,然后对其进行分解,程序会给出一个错误,但是当我在导入代码时进行分解时,根本不会出错。有人知道为什么会发生这种情况吗?导入时进行解构对程序来说很好,但我还是很好奇 import textileHub from '@textile/hub'; const { Client, ThreadID, PrivateKey } = textileHub; // This fails saying that textileHub is unde
import textileHub from '@textile/hub';
const { Client, ThreadID, PrivateKey } = textileHub;
// This fails saying that textileHub is undefined
import { Client, ThreadID, PrivateKey } from '@textile/hub';
// this works perfectly
这两个导入语法并不等价——第一个将把包中的“默认”导出指定给变量textileHub。如果没有默认导出(将使用语法
export default value
导出),您的textileHub变量将未定义
第二个版本直接导入这三个命名导入。等效的“在以后分解结构之前将所有命名导入作为一个对象获取”语法是
import * as textileHub from '@textile/hub';
const { Client, ThreadID, PrivateKey } = textileHub;