JavaScript导出默认值和导入

时间:2019-10-22 01:49:25

标签: javascript

我有以下代码:

const API1 = new API({
   ...
})

const API2 = new API({
   ...
})

export default { API1, API2 }

我需要这样导入:

import API1 from '/lib/api'

API1.get()...

但是它不起作用。 我不想这样做:

import blah from '/lib/api'
blah.API1.get()...

我该如何解决? 谢谢。

2 个答案:

答案 0 :(得分:0)

如果您需要导出多个项目,并且不想在使用模块中创建两个变量(一个用于默认导入-对象,另一个用于API1属性),则只需另一种选择是将默认导出更改为命名导出,从而允许您导入 just 一个特定的命名属性:

const API1 = new API({
   ...
})

const API2 = new API({
   ...
})

export { API1, API2 }

import { API1 } from '/lib/api'

API1.get()...

export {语法表明导出是命名的,而不是默认的,而import {语法表明您正在导入的是命名的导入,而不是默认的导入。

(它看起来很像是解构,并且有点相似,但是不一样)

答案 1 :(得分:0)

由于默认情况下导出对象,因此您需要访问单个属性才能访问那里的方法,而可以使用命名的导出

// exporting values

export const API1 = new API({
   ...
})

export const API2 = new API({
   ...
})

// Importing values

import { API1 } from '/lib/api'

API1.get()...