无法在构建时

时间:2017-09-01 05:12:44

标签: angular typescript angular-material2 angular2-modules

它正在处理 ng serve ,但提供错误如下

ERROR in Unexpected value 'MaterialModule in E:/Code/employee-web/node_modules/@angular/material/typings/index.d.ts'
     

祁门功夫       由E:/Code/employee-web/src/app/shared/shared.module.ts'中的模块'SharedModule'引导。请添加一个   @NgModule annotatio       ñ。       ./src/main.ts中的错误       找不到模块:错误:无法解析'E:\ Code \ employee-web \ src'中的'./$$_gendir/app/app.module.ngfactory'       解决'E:\ Code \ employee-web \ src'中的'./$$_gendir/app/app.module.ngfactory'         使用描述文件:E:\ Code \ employee-web \ package.json(相对路径:./ src)           字段“浏览器”不包含有效的别名配置         使用描述文件后:E:\ Code \ employee-web \ package.json(相对路径:./ src)           使用描述文件:E:\ Code \ employee-web \ package.json(相对路径:./ src / $$_gendir / app / app.module.ngfactory)             没有延期               字段“浏览器”不包含有效的别名配置               E:\ Code \ employee-web \ src \ $$ _ gendir \ app \ app.module.ngfactory不   存在             .TS               字段“浏览器”不包含有效的别名配置               E:\ Code \ employee-web \ src \ $$ _ gendir \ app \ app.module.ngfactory.ts不   存在             .js文件               字段“浏览器”不包含有效的别名配置               E:\ Code \ employee-web \ src \ $$ _ gendir \ app \ app.module.ngfactory.js不   存在             作为目录               E:\ Code \ employee-web \ src \ $$ _ gendir \ app \ app.module.ngfactory不   存在       [E:\代码\员工网络的\ src \ $$ _ gendir \程序\ app.module.ngfactory]       [E:\代码\员工网络的\ src \ $$ _ gendir \程序\ app.module.ngfactory.ts]       [E:\代码\员工网络的\ src \ $$ _ gendir \程序\ app.module.ngfactory.js]       [E:\代码\员工网络的\ src \ $$ _ gendir \程序\ app.module.ngfactory]        @ ./src/main.ts 3:0-74        @ multi ./src/main.ts

任何人都可以看一下吗?

这里是sharedModule

> @NgModule({
> 
>   declarations: [],   providers: [
>        ],   imports: [
>     HttpModule,
>     MaterialModule,
>        ],   exports: [
>     CommonModule,
>         //matrial MOdule
>     // MdTooltipModule,
>     // MdTabsModule,
>     // MdSlideToggleModule,
>     // MdIconModule,
>     // MdDialogModule,
>     // MdButtonModule,
>     // MdListModule,
>     // MdCardModule,
>     // MdToolbarModule,
>     // MdProgressSpinnerModule,
>     // MdProgressBarModule,
>     MaterialModule,
> 
> 
>       ] }) export class SharedModule { }

2 个答案:

答案 0 :(得分:0)

您可能已完成以下操作:

import {MaterialModule} from "@angular/material";

@NgModule({
   declarations: [],
   providers: [],
   imports: [
     HttpModule,
     MaterialModule,
   ],
   exports: [
     CommonModule,
     MaterialModule,
   ]
})
export class SharedModule {}

但是,MaterialModule已经被弃用了一段时间(我不记得究竟是什么版本)。现在建议您单独导入组件模块:https://material.angular.io/guide/getting-started#step-3-import-the-component-modules

因此改为以下内容:

// Import whatever components you intend to use in this shared module here
import {MdButtonModule, MdCheckboxModule} from '@angular/material';

@NgModule({
   ...
   imports: [MdButtonModule, MdCheckboxModule],
   exports: [MdButtonModule, MdCheckboxModule],
   ...
})
export class SharedModule {}

您可以通过导入每个可用的组件模块,然后从共享模块中导出它们来模拟MaterialModule功能(厨房水槽)。

答案 1 :(得分:-1)

我在使用MaterialModule的MdDialog时遇到了同样的错误。 我现在就修好它并且有效。

我通过指定我在我的应用程序中使用的特定材料模块来修复它。

在我的app.module.ts中:

import { MdDialogModule } from '@angular/material';
imports: [
  MdDialogModule
]

在我的组件中:

import { MdDialog } from '@angular/material'
import { AuthorizationComponent } from '../authorization/authorization.component'

export class HomeComponent implements OnInit { 
  constructor(private dialog: MdDialog){}

  ngOnInit() {
  this.dialog.afterAllClosed
    .subscribe( () => {
          //make changes 
      })
   }

    sign_up() {
      this.dialog.open(AuthorizationComponent)  //open component
    }

}