如何从名称空间导出,访问默认值?
How do I export from a namespace, accessing the default?
我有一个关于 ES6 导入模块的问题。
我试图在我的 Three.js 代码中添加 OrbitControls。
由于 OrbitControls 是一个单独的模块,我需要在我的代码中单独导入它们,如下所示。并且工作正常。
import OrbitControls from 'three-orbitcontrols'
不过,
我最先想到的是
import {OrbitControls} from 'three-orbitcontrols'
原因是,
据我了解,如果模块将某些内容导出为导出默认值,
我可以通过在我的 'import' 代码中加上大括号来访问它们。
但是,它没有成功,所以我假设 'three-orbitcontrols' 不会默认导出“OrbitControls”。
然后我就这样试了
import * as Orbit from 'three-orbitcontrols'
new Orbit.OrbitControls(a,b)
然而,也没有成功。
我误会了什么?
导入时使用大括号从其他文件导入 命名导出 。比如下面的link向上:
export const foo = 'something';
import { foo } from './somefile.js';
默认导出不使用花括号:
export default 'somethingelse';
import theSomethingElse from './someOtherFile.js';
听起来 OrbitControls
使用默认导出,因此导入时应避免大括号。
正在做
import * as Orbit from 'three-orbitcontrols'
imports everything 模块作为命名空间导出,本质上是一个对象。要从命名空间访问默认导出,请访问其上的 default
属性:
import * as Orbit from 'three-orbitcontrols'
new Orbit.default(a,b)
(或者只使用您的原始版本:import OrbitControls from 'three-orbitcontrols'
)
我有一个关于 ES6 导入模块的问题。
我试图在我的 Three.js 代码中添加 OrbitControls。 由于 OrbitControls 是一个单独的模块,我需要在我的代码中单独导入它们,如下所示。并且工作正常。
import OrbitControls from 'three-orbitcontrols'
不过,
我最先想到的是
import {OrbitControls} from 'three-orbitcontrols'
原因是,
据我了解,如果模块将某些内容导出为导出默认值,
我可以通过在我的 'import' 代码中加上大括号来访问它们。
但是,它没有成功,所以我假设 'three-orbitcontrols' 不会默认导出“OrbitControls”。
然后我就这样试了
import * as Orbit from 'three-orbitcontrols'
new Orbit.OrbitControls(a,b)
然而,也没有成功。
我误会了什么?
导入时使用大括号从其他文件导入 命名导出 。比如下面的link向上:
export const foo = 'something';
import { foo } from './somefile.js';
默认导出不使用花括号:
export default 'somethingelse';
import theSomethingElse from './someOtherFile.js';
听起来 OrbitControls
使用默认导出,因此导入时应避免大括号。
正在做
import * as Orbit from 'three-orbitcontrols'
imports everything 模块作为命名空间导出,本质上是一个对象。要从命名空间访问默认导出,请访问其上的 default
属性:
import * as Orbit from 'three-orbitcontrols'
new Orbit.default(a,b)
(或者只使用您的原始版本:import OrbitControls from 'three-orbitcontrols'
)