1

我最近开始将一个项目从 1.6 迁移到新的 Angular 4(以及迁移到 Typescript)。

我有一个 gulp + watchify/browserify + tisfy 的配置,在更改时会自动将它们添加到单个包中,该包被导入到 html 文件中。

在旧项目中,我使用了require-globify,因此我不需要单独要求项目中的每个控制器,而是需要整个文件夹(基于功能),然后当我将控制器添加到该功能时,它们会自动添加到对应的模块。

是否可以在新的 Angular(使用 Typescript 2)中类似地实现。从现在看来,require 在 Typescript 中不起作用,tsify 将常规导入视为 require 语句,如下所示:

import {NgModule} from "@angular/core";
import {FirstComponent} from "./my-app/first/first.component";

我不认为随着项目的发展手动注册组件(和子组件!)是可维护的(欢迎告诉我为什么我错了)。

如何导入整个文件夹并将它们注册为模块的组件?这样的事情会很棒(如果可行哈哈):

import {AppComponent} from "app/root.component";
import * as FirstFeatureComponents from "app/features/first/**/*.component.ts";

@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        RoutingModule
    ],
    declarations: [
        AppComponent,
        FirstFeatureComponents
    ],
    bootstrap: [AppComponent]
})
export class AppModule {
}
4

0 回答 0