繁体   English   中英

Typescript变量和接口的正确导入导出方式是什么?

[英]What is the correct way to import and export Typescript variables and interfaces?

我有一个 TypeScript 文件(.ts 文件),我正在尝试导出名为InventoryItem的接口和变量inventoryItems ,以便我可以在另一个 .ts 文件中使用它们。 但这就是我想要做的:

3_enumerable.ts:

enum InventoryItemType {
    Computer = 'Computer',
    Furniture = 'Furniture'
}

interface InventoryItem {
    displayName: string;
    trackingNumber: string | number;
    furnitureType: InventoryItemType;
    cost: number;
    createDate?: Date;
}

const inventoryItems: InventoryItem[] = [
    {displayName: 'item1', trackingNumber: '1234', furnitureType: InventoryItemType.Computer, cost: 10, createDate: new Date('2020-01-01')},
    {displayName: 'item2', trackingNumber: '5678', furnitureType: InventoryItemType.Computer, cost: 30},
    {displayName: 'item3', trackingNumber: 9101, furnitureType: InventoryItemType.Computer, cost: 30}
]

module.exports = { InventoryItem, inventoryItems }

然后在3_enumerable.js文件中编译为我看到:

module.exports = { InventoryItem, inventoryItems };

然后在需要InventoryIteminventoryItems4_functions.ts文件中,我从从3_enumerable.js文件编译的3_enumerable.ts文件导入:

import {InventoryItem, inventoryItems} from '../build/3_enumerable'

但是,在 console.log 中我看到了这些错误:

Uncaught ReferenceError: module is not defined at 3_enumerable.js:73:1

Uncaught SyntaxError: Cannot use import statement outside a module (at 4_functions.js:3:1)

module.exports东西

enum InventoryItemType {
    Computer = 'Computer',
    Furniture = 'Furniture'
}

export interface InventoryItem {
    displayName: string;
    trackingNumber: string | number;
    furnitureType: InventoryItemType;
    cost: number;
    createDate?: Date;
}

export const inventoryItems: InventoryItem[] = [
    {displayName: 'item1', trackingNumber: '1234', furnitureType: InventoryItemType.Computer, cost: 10, createDate: new Date('2020-01-01')},
    {displayName: 'item2', trackingNumber: '5678', furnitureType: InventoryItemType.Computer, cost: 30},
    {displayName: 'item3', trackingNumber: 9101, furnitureType: InventoryItemType.Computer, cost: 30}
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM