在TypeScript手册的Shorthand Ambient Modules部分,它显示了一个这样的导入语句:
import x, {y} from "hot-new-module";
它没有解释为什么上面语句中的y
是大括号。如果x
和y
都在括号内(即import {x, y} from...
)那么它可能不会引起我的注意 - 但现在我想知道为什么一个人在里面而不是另一个。
大括号实际上意味着什么?你会如何选择放入大括号的东西?
答案 0 :(得分:3)
TL; DR
大括号之间的内容是指定的导出。
这是一个经典之作:
import React, { Component, PropTypes } from 'react'
这会以React
名称导入整个模块,因此您可以使用Component
访问React.Component
。
但是为了使代码更短更清晰,命名导出Component
也会在其名称下导入,因此可以直接使用而不使用React
名称空间前缀
该语法应该等同于
import {default as React, Component, PropTypes} from 'react'
最后注意事项:您实际上可以在导入时重命名
import {Component as TheComponent} from 'react'
n.b:需要导入React
是JSX编译器的“限制”