首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AOT编译失败,出现物料模块

AOT编译失败,出现物料模块
EN

Stack Overflow用户
提问于 2018-04-17 05:44:46
回答 1查看 404关注 0票数 0

我收到了多个错误,但它们都类似于以下内容:

代码语言:javascript
复制
ERROR in ./node_modules/@angular/material/button/typings/index.ngfactory.js
Module build failed: Error: Invalid name: "@angular/material/button"
    at ensureValidName (C:\path\node_modules\normalize-package-data\lib\fixer.js:335:15)
    at Object.fixNameField (C:\path\node_modules\normalize-package-data\lib\fixer.js:215:5)
    at C:\path\node_modules\normalize-package-data\lib\normalize.js:32:38
    at Array.forEach (<anonymous>)
    at normalize (C:\path\node_modules\normalize-package-data\lib\normalize.js:31:15)
    at final (C:\path\node_modules\read-package-json\read-json.js:411:5)
    at then (C:\path\node_modules\read-package-json\read-json.js:160:5)
    at ReadFileContext.<anonymous> (C:\path\node_modules\read-package-json\read-json.js:332:20)
    at ReadFileContext.callback (C:\path\node_modules\graceful-fs\graceful-fs.js:78:16)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:420:13)
 @ ./src/components/shared/confirm-delete/confirm-delete.component.ngfactory.js 4:0-96
 @ ./src/components/desktop/base/base.module.ngfactory.js
 @ ./$$_lazy_route_resource lazy
 @ ./node_modules/@angular/core/esm5/core.js
 @ ./src/main.aot.ts

错误似乎只发生在作为子模块的模块中,因为材料按钮正在其他组件中使用,而不会产生此错误。我怀疑我对我的导入做了一些愚蠢的事情,但我不知道是什么导致了这个错误,只在子模块中。angular编译器版本为5.2.10。

导入-

代码语言:javascript
复制
import { MatInputModule } from '@angular/material/input';
import { MatCardModule} from '@angular/material';
import { MatButtonModule } from '@angular/material/button';
import { MatDialogModule} from '@angular/material';
import { MatIconModule } from '@angular/material/icon';

它与webpack和做'npm run server‘工作得很好。只有在进行AOT编译时才会出现问题。

EN

回答 1

Stack Overflow用户

发布于 2018-04-17 06:36:27

可以使用以下命令导入角度材质:

代码语言:javascript
复制
import {
  TooltipComponent,
  MatDialogModule,
  MatTooltipModule,
  MatMenuModule
} from '@angular/material';

@NgModule({
  exports: [
    MatDialogModule,
    MatTooltipModule,
    MatMenuModule
  ]
})
export class MaterialModule { }

@NgModule({
  imports: [
    MaterialModule
  ],
  bootstrap: [AppComponent],
})
export class AppModule { }

(封装在另一个ngModule中可以更容易地将其从AppModule中分离出来)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49866722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档