如何使用 ng build --aot 部署 Angular 应用程序?

Posted

技术标签:

【中文标题】如何使用 ng build --aot 部署 Angular 应用程序?【英文标题】:Ho to deploy angular app with ng build --aot? 【发布时间】:2020-10-03 13:17:29 【问题描述】:

我在 localhost 中使用 angular 创建了一个网站,一切正常,在 heroku 中也可以正常工作,现在我想将页面部署到我的服务器,

这里是回购:agency repo

我运行以下命令

ng build --aot

不幸的是,我收到以下错误

ERROR in : Type NgStickyDirective in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts is part of the declarations of 2 modules: AppModule in C:/custom-xammp/htdocs/agency/majeni/src/app/app.module.ts and NgStickyModule in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts! Please consider moving NgStickyDirective in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts to a higher module that imports AppModule in C:/custom-xammp/htdocs/agency/majeni/src/app/app.module.ts and NgStickyModule in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts. You can also create a new NgModule that exports and includes NgStickyDirective in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts then import that NgModule in AppModule in C:/custom-xammp/htdocs/agency/majeni/src/app/app.module.ts and NgStickyModule in C:/custom-xammp/htdocs/agency/majeni/node_modules/ng-sticky/ng-sticky.d.ts.

我需要做什么来解决这个问题?

【问题讨论】:

【参考方案1】:

错误是关于在您的模块 AppModule 中重新声明的第 3 部分指令。

确保您的AppModuledeclarations 中没有NgStickyDirective。只需在您的imports 中添加NgStickyModule 就足够了。

declarations: [/* only your own components and directives*/],
imports: [NgStickyModule, /* other modules*/ ]

【讨论】:

以上是关于如何使用 ng build --aot 部署 Angular 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

ng build --aot --prod生成文件报错

在 ng build--aot 期间,类型“any []”上不存在属性“名称”

执行ng build --prod --aot命令报错

无法解析 Staging & Prod 上的所有参数(AOT、buildOptimizer)(ng 服务工作)

如何在生产构建设置和启用 AOT 的情况下运行 angular cli ng 测试

ng build —prod 失败但能够运行