【问题标题】:Unable to Compile Material in Angular 4 , gives :/material" has no exported member 'MaterialModule无法在 Angular 4 中编译材质,给出:/material" 没有导出成员 'MaterialModule
【发布时间】:2018-03-09 10:02:23
【问题描述】:

我正在使用 Material UI 框架创建新的 Angular 4 应用程序。 我按照以下步骤操作:https://material.angular.io/guide/getting-started

但是当我在执行 'npm start' 时,它无法编译并显示: ERROR in /home/programoholic/workspace/heroapp/src/app/app.module.ts (3,10): Module '"/home/programoholic/workspace/heroapp/node_modules/@angular/material/material"' has no exported member 'MaterialModule'.

错误截图:

when compiling getting this error

这是我的 Package.Json 文件:

{
  "name": "heroapp",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^4.2.4",
    "@angular/cdk": "^2.0.0-beta.11",
    "@angular/common": "^4.2.4",
    "@angular/compiler": "^4.2.4",
    "@angular/core": "^4.2.4",
    "@angular/forms": "^4.2.4",
    "@angular/http": "^4.2.4",
    "@angular/material": "^2.0.0-beta.11",
    "@angular/platform-browser": "^4.2.4",
    "@angular/platform-browser-dynamic": "^4.2.4",
    "@angular/router": "^4.2.4",
    "core-js": "^2.4.1",
    "hammerjs": "^2.0.8",
    "rxjs": "^5.4.2",
    "zone.js": "^0.8.14"
  },
  "devDependencies": {
    "@angular/cli": "1.4.2",
    "@angular/compiler-cli": "^4.2.4",
    "@angular/language-service": "^4.2.4",
    "@types/hammerjs": "^2.0.35",
    "@types/jasmine": "~2.5.53",
    "@types/jasminewd2": "~2.0.2",
    "@types/node": "~6.0.60",
    "codelyzer": "~3.1.1",
    "jasmine-core": "~2.6.2",
    "jasmine-spec-reporter": "~4.1.0",
    "karma": "~1.7.0",
    "karma-chrome-launcher": "~2.1.1",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.2.1",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "~5.1.2",
    "ts-node": "~3.2.0",
    "tslint": "~5.3.2",
    "typescript": "~2.3.3"
  }
}

请任何人告诉我是什么问题导致了这个错误? 什么是最好的解决方案? 谢谢。

【问题讨论】:

  • 看起来您正在尝试导入 MaterialModule,而您应该导入单个项目 MdCheckboxModuleMdInputModule 等...
  • 谢谢大家...我创建了一个新的 ngModule 来导入所有材料组件。然后将模块添加到 app.module.ts 。现在工作正常。 :)

标签: angular angular-material angular-material2


【解决方案1】:

MaterialModule2.0.0-beta.3 版本中已被贬低,在 2.0.0-beta.11 版本中已完全删除。有关更多详细信息,请参阅此CHANGELOG。请完成重大更改。

MaterialModule 已被移除且不再可用。如前所述 在 beta.3 的更新日志中,一个像 MaterialModule 这样的聚合模块 防止工具能够对未使用的组件进行 treeshake 和 模块。

您需要包含单独的材料组件模块才能在您的应用中使用它们。

【讨论】:

  • 谢谢.. 现在工作正常 :)
【解决方案2】:

像这样为 Angular 材料导入各个模块

import { matButtonModule,matCardModule,matMenuModule,matToolbarModule,matIconModule,matSelectModule } from '@angular/material';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 2020-10-30
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多