Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 在angular2中轻松导入自定义类_Typescript_Angular - Fatal编程技术网

Typescript 在angular2中轻松导入自定义类

Typescript 在angular2中轻松导入自定义类,typescript,angular,Typescript,Angular,假设我有一个Angular2类型脚本解决方案,它的大小正在增长。我有很多小类/对象,按照最佳实践,我将每个类放在自己的文件中 如果我需要操纵这些对象,我通常会得到一长串导入,如下所示: import {Object1} from '../core-data/object1'; import {Object2} from '../core-data/object2'; import {Object3} from '../core-data/object3'; import {Object4} fr

假设我有一个Angular2类型脚本解决方案,它的大小正在增长。我有很多小类/对象,按照最佳实践,我将每个类放在自己的文件中

如果我需要操纵这些对象,我通常会得到一长串导入,如下所示:

import {Object1} from '../core-data/object1';
import {Object2} from '../core-data/object2';
import {Object3} from '../core-data/object3';
import {Object4} from '../core-data/object4';
import {Object5} from '../core-data/object5';
import { Object1, Object2, Object3, Object4, Object5 } from '../core-data/';
我希望我能做些像这样的事情:

import {Object1, Object2, Object3, Object4, Object5} from '../core-data/CORE_OBJECTS';
我尝试使用Angular团队用于CORE_指令的模式,但它似乎只起作用,因为这些是通过组件注释上的DIRECTIVES属性添加的

我真的不想捆绑它/为它做一个新项目,因为这会使整个过程变得更困难——我只想调整一些核心对象,而不需要太多麻烦

处理此问题的最佳方法是什么?

您可以利用Angular2的导出功能

例如,在core.objects.ts文件中:

然后,您可以通过这种方式利用core.objects模块

import {
  Object1, Object2, Object3, Object4, Object5
} from '../core-data/core.objects';
您可以利用Angular2的导出功能

例如,在core.objects.ts文件中:

然后,您可以通过这种方式利用core.objects模块

import {
  Object1, Object2, Object3, Object4, Object5
} from '../core-data/core.objects';

我不想劫持你的答案,只是提供了一些我发现的额外信息:

如果在/core data文件夹中创建index.ts并将其内容设置为:

export * from './core-terms';
然后您可以得到一个稍微简单的import语句,如下所示:

import {Object1} from '../core-data/object1';
import {Object2} from '../core-data/object2';
import {Object3} from '../core-data/object3';
import {Object4} from '../core-data/object4';
import {Object5} from '../core-data/object5';
import { Object1, Object2, Object3, Object4, Object5 } from '../core-data/';
无需同时指定包含关联导出的文件夹和文件:


编辑:这仍然需要core-terms.ts文件包含导出。您可以将导出替换为core-terms.ts文件中的导出,这样就不需要额外的文件。您也可以离开它,然后随着核心数据文件夹的增长,创建更多的子分区文件,并在index.ts中合并所有子文件。这样index.ts保存所有类,您可以将这些类细分为core-terms.ts core-components.ts core-whatever.ts.。

不试图劫持您的答案,只提供我发现的一些额外信息:

如果在/core data文件夹中创建index.ts并将其内容设置为:

export * from './core-terms';
然后您可以得到一个稍微简单的import语句,如下所示:

import {Object1} from '../core-data/object1';
import {Object2} from '../core-data/object2';
import {Object3} from '../core-data/object3';
import {Object4} from '../core-data/object4';
import {Object5} from '../core-data/object5';
import { Object1, Object2, Object3, Object4, Object5 } from '../core-data/';
无需同时指定包含关联导出的文件夹和文件:


编辑:这仍然需要core-terms.ts文件包含导出。您可以将导出替换为core-terms.ts文件中的导出,这样就不需要额外的文件。您也可以离开它,然后随着核心数据文件夹的增长,创建更多的子分区文件,并在index.ts中合并所有子文件。这样index.ts保存所有类,您可以将这些类细分为core-terms.ts core-components.ts core-whatever.ts…。

这就是我想要做的,也是我尝试过的,但似乎不起作用。也许我把某个地方搞砸了,我会再试一次。谢谢Angular2框架本身使用这种方法;-所以它应该是有效的。。。不客气!我不知道为什么第一次它不起作用。这是如此简单,它的工作非常像它应该。谢谢:这是我想做的,我也试过了,但似乎不起作用。也许我把某个地方搞砸了,我会再试一次。谢谢Angular2框架本身使用这种方法;-所以它应该是有效的。。。不客气!我不知道为什么第一次它不起作用。这是如此简单,它的工作非常像它应该。谢谢: