无法在构建时从shared.module.ts导出MaterialModule [英] unable to export MaterialModule from shared.module.ts on Build time
问题描述
它正在 ng serve
上运行,但给出以下错误
It's working on ng serve
but giving error as follow
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注释 . ./src/main.ts中的错误 找不到模块:错误:无法解析"E:\ Code \ employee-web \ src"中的"./$$_gendir/app/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.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:\ Code \ employee-web \ 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.js] [E:\ Code \ employee-web \ src \ $$ _ gendir \ app \ app.module.ngfactory] @ ./src/main.ts 3:0-74 @ multi ./src/main.ts
impor ted by the module 'SharedModule in E:/Code/employee-web/src/app/shared/shared.module.ts'. Please add a @NgModule annotatio n. ERROR in ./src/main.ts Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'E:\Code\employee-web\src' resolve './$$_gendir/app/app.module.ngfactory' in 'E:\Code\employee-web\src' using description file: E:\Code\employee-web\package.json (relative path: ./src) Field 'browser' doesn't contain a valid alias configuration after using description file: E:\Code\employee-web\package.json (relative path: ./src) using description file: E:\Code\employee-web\package.json (relative path: ./src/$$_gendir/app/app.module.ngfactory) no extension Field 'browser' doesn't contain a valid alias configuration E:\Code\employee-web\src\$$_gendir\app\app.module.ngfactory doesn't exist .ts Field 'browser' doesn't contain a valid alias configuration E:\Code\employee-web\src\$$_gendir\app\app.module.ngfactory.ts doesn't exist .js Field 'browser' doesn't contain a valid alias configuration E:\Code\employee-web\src\$$_gendir\app\app.module.ngfactory.js doesn't exist as directory E:\Code\employee-web\src\$$_gendir\app\app.module.ngfactory doesn't exist [E:\Code\employee-web\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.js] [E:\Code\employee-web\src\$$_gendir\app\app.module.ngfactory] @ ./src/main.ts 3:0-74 @ multi ./src/main.ts
任何人都可以调查吗?
这是sharedModule
here is 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 { }
推荐答案
您可能已执行以下操作:
You've likely done the following:
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
However, the MaterialModule has been deprecated for a while now (I don't remember what version exactly). It is now recommended you import the component modules individually: https://material.angular.io/guide/getting-started#step-3-import-the-component-modules
所以请更改为以下内容:
So change to something like the following:
// 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功能(厨房水槽).
You can emulate the MaterialModule functionality (the kitchen sink) by importing every single component module available, and then exporting them from your shared module.
这篇关于无法在构建时从shared.module.ts导出MaterialModule的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!