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

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 }
主站蜘蛛池模板: 巴东县| 内黄县| 读书| 河东区| 碌曲县| 仙居县| 六枝特区| 甘谷县| 乾安县| 四子王旗| 外汇| 沐川县| 德安县| 孙吴县| 工布江达县| 台江县| 大余县| 石嘴山市| 彝良县| 敖汉旗| 玛沁县| 安岳县| 景宁| 菏泽市| 夹江县| 静乐县| 林甸县| 泾川县| 新乐市| 绍兴县| 金昌市| 许昌县| 井研县| 错那县| 梧州市| 雅江县| 兰州市| 龙陵县| 衡山县| 阳东县| 上虞市|