导入自定义模块:如何设置其路径?

时间:2017-10-31 08:13:09

标签: angular typescript

我刚开始学习Angular 2,我有一个问题就是导入一个带接口声明的自定义模块。这是我的文件夹结构:

enter image description here

我想将product.interface.ts导入到app/components/product/product.component.ts中包含此import语句的组件中:

import { IProduct, IEmvoProduct } from '../../interfaces/product.interface'

我也尝试过:

import { IProduct, IEmvoProduct } from '@app/interfaces/product.interface'

但它可以找到那个模块。

product.interface.ts是:

interface IProduct {
    productCode: string;
    description: string;
    lawId: number;
    name: string;
    comment: string;
    emvoProduct?: IEmvoProduct; // ?: Optional.
}

interface IEmvoProduct {
    codingScheme: string;
    name: string;
    commonName: string;
    pharmaForm: string;
    strength: string;
    packType: string;
    packSize: number;
}

我想将接口放在一个独立的文件中,以便在另一个组件之间共享。

如何导入它?

1 个答案:

答案 0 :(得分:1)

这个很完美:

import { IProduct, IEmvoProduct } from '../../interfaces/product.interface'

我认为您忘记从IProduct文件中导出IEmvoProductproduct.interface.ts

错误:product.interface.ts不是模块

exportinterface IProduct

之前加上interface IEmvoProduct关键字

喜欢:

export interface IProduct {
    productCode: string;
    description: string;
    lawId: number;
    name: string;
    comment: string;
    emvoProduct?: IEmvoProduct; // ?: Optional.
}

export interface IEmvoProduct {
    codingScheme: string;
    name: string;
    commonName: string;
    pharmaForm: string;
    strength: string;
    packType: string;
    packSize: number;
}

这是链接,请看一下:

https://stackblitz.com/edit/angular-export-interface