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

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 }
主站蜘蛛池模板: 乐清市| 台前县| 喀喇| 板桥市| 花垣县| 娱乐| 福安市| 蛟河市| 定西市| 垦利县| 临江市| 内乡县| 正蓝旗| 县级市| 房产| 霍山县| 随州市| 太保市| 西充县| 敦化市| 礼泉县| 甘肃省| 沙坪坝区| 溧水县| 镇远县| 南郑县| 龙陵县| 许昌县| 阿巴嘎旗| 集贤县| 梁平县| 广河县| 沽源县| 英吉沙县| 彭山县| 阜南县| 广安市| 唐海县| 化德县| 淳化县| 莒南县|