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

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 }
主站蜘蛛池模板: 砀山县| 西藏| 灵寿县| 偃师市| 镇坪县| 北辰区| 乐都县| 长宁区| 西青区| 会理县| 武鸣县| 太湖县| 东乡县| 定结县| 霍山县| 遂平县| 汉阴县| 筠连县| 柘城县| 德格县| 陇西县| 旅游| 延安市| 改则县| 东乡族自治县| 贞丰县| 图木舒克市| 浮梁县| 泊头市| 西林县| 丰都县| 兴安盟| 泸溪县| 启东市| 贡觉县| 石台县| 金堂县| 连城县| 岢岚县| 万载县| 佛教|