加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular2从模块导入组件/服务

发布时间:2020-12-17 06:48:47 所属栏目:安全 来源:网络整理
导读:我正在开发一个Angular2最终应用程序,它目前有两个模块: CoreModule:包含共享组件和服务. AppModule:应用程序的根模块 的AppModule: /** * Created by jamdahl on 9/21/16. */// Angular Importsimport {NgModule} from '@angular/core';import {Browser
我正在开发一个Angular2最终应用程序,它目前有两个模块:

> CoreModule:包含共享组件和服务.
> AppModule:应用程序的根模块

的AppModule:

/**
 * Created by jamdahl on 9/21/16.
 */

// Angular Imports
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {HttpModule} from '@angular/http';
import {FormsModule,ReactiveFormsModule} from '@angular/forms';
import {CoreModule} from '../core-module/core.module';
import {UserService,AuthService,AuthComponent} from '../core-module/core.module';

// Components
import {HomePageComponent} from './components/home-page.component';

//import {enableProdMode} from '@angular/core';
//enableProdMode();

@NgModule({
    imports: [
        BrowserModule,HttpModule,FormsModule,ReactiveFormsModule,CoreModule
    ],declarations: [
        AuthComponent,HomePageComponent
    ],providers: [
        AuthService,UserService
    ],bootstrap: [
        HomePageComponent
    ]
})
export class AppModule {}

CoreModule:

/**
 * Created by jamdahl on 9/21/16.
 */

// Angular imports
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {HttpModule} from '@angular/http';
import {FormsModule,ReactiveFormsModule} from '@angular/forms';

// Class imports
import {User} from './classes/user.class';
import {Alert} from './classes/alert.class';

// Service imports
import {AuthService} from './services/auth.service';
import {UserService} from './services/user.service';

// Component imports
import {AuthComponent} from './components/auth.component';
import {SignInComponent} from './components/signin.component';
import {SignUpComponent} from './components/signup.component';

//import {enableProdMode} from '@angular/core';
//enableProdMode();

@NgModule({
    imports: [
        BrowserModule,ReactiveFormsModule
    ],SignInComponent,SignUpComponent
    ],providers: [],exports: [
        User,Alert,UserService,AuthComponent
    ]
})
export class CoreModule {}

当我尝试运行它时,我得到以下内容:

ERROR in ./src/view/app-module/app.module.ts (11,9): error TS2305:
Module
‘”/Users/jamdahl/Web/Web-Scratch/Angular2-Express-Mongoose/src/view/core-module/core.module”‘
has no exported member ‘UserService’.

ERROR in
./src/view/app-module/app.module.ts (11,22): error TS2305: Module
‘”/Users/jamdahl/Web/Web-Scratch/Angular2-Express-Mongoose/src/view/core-module/core.module”‘
has no exported member ‘AuthService’.

ERROR in
./src/view/app-module/app.module.ts (11,35): error TS2305: Module
‘”/Users/jamdahl/Web/Web-Scratch/Angular2-Express-Mongoose/src/view/core-module/core.module”‘
has no exported member ‘AuthComponent’.

任何想法为什么这不起作用?我的目标是在模块中定义某些组件/服务,以便在我将创建的其他模块中重用.需要找出正确的方法来做到这一点……

感谢您的任何帮助!

解决方法

服务不需要添加到NgModule的导出中.

在你的CoreModule中提供它们,或者现在在你的AppModule中提供它们,但是从它们的原始文件中导入它们……

或者从’..File ..’添加导出{AuthService}到您的CoreModule.

您只能从导出它们的文件中导入组件和服务.而不是它们在模块的导出部分中的位置..这是一个打字稿的东西,而不是一个Angular的东西!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读