在Javascript中导入的不同方式?



在我的.ts文件中,我导入了三个类。但它们都以不同的方式完成。

import * as THREE from 'three'
import Stats from 'three/examples/jsm/libs/stats.module'
import {OrbitControls} from 'three/examples/jsm/controls/OrbitControls'

我有c#/lua背景,不明白这里有什么区别。我的问题是:

  1. 我如何知道要使用哪种导入样式?
  2. *是做什么的,为什么第一行不需要任何路径——'three'不在我的根目录中。
  3. 为什么OrbitControls需要在一个对象内?我可以像new OrbitControls(camera, renderer.domElement );那样构造它,但我不明白为什么。是否将OrbitControls添加到全局空间?如果是这样,为什么在进口线上需要{ }?

我理解Stats的导入——这看起来很正常。它返回一个Stats对象,这里有一个相对路径

一般来说如果你这样做:

// in styles.js
const RED = "red"
export const PINK = "pink"
const BLUE = "blue"
export {
BLUE
}
export default RED

//in other file
import lalal (it doesnt matter how you call it if its the default export),{BLUE, PINK as REALY_PINK (renaming the exported var) } from "./styles"
console.log(lalal) //=>red

相关内容

  • 没有找到相关文章

最新更新