官术网_书友最值得收藏!

Exporting

Exporting code from a module allows it to be used by other modules. In order to export from a module, we use the export keyword. We can specify that an item is exported using export directly before its definition. Exports can be applied to interfaces, type aliases, classes, functions, constants, and so on.

Let's start to adjust our example code from the previous section to operate in modules rather than the global scope:

  1. Firstly, let's export the Product interface:
export interface Product {
name: string;
unitPrice: number;
}
  1. After we make this change, the compiler will complain about the reference to the Product interface in the OrderDetail class:

This is because Product is no longer in the global scope but OrderDetail still is. We'll resolve this in the next section, but let's look at alternative ways we can export the Product interface first.

  1. We can use an export statement beneath the item declarations. We use the export keyword followed by a comma-delimited list of item names to export in curly braces:
interface Product {
name: string;
unitPrice: number;
}

export { Product }
  1. With this approach, we can also rename exported items using the as keyword:
interface Product {
name: string;
unitPrice: number;
}

export { Product as Stock }
主站蜘蛛池模板: 太仓市| 邻水| 乐山市| 闻喜县| 喜德县| 叶城县| 奇台县| 蒙自县| 丹凤县| 瓦房店市| 辽阳市| 高雄市| 璧山县| 保靖县| 若羌县| 新津县| 牙克石市| 西峡县| 塔城市| 鹿泉市| 名山县| 耿马| 阜宁县| 冷水江市| 南充市| 若羌县| 峨边| 新乡市| 合水县| 屯门区| 乐东| 民和| 静乐县| 静宁县| 德庆县| 永康市| 青浦区| 鸡西市| 太仆寺旗| 乌兰县| 井研县|