0

我正在尝试构建我的 angular5 项目,但它失败了。


这是deps 树的摘录:

simple- kaishi <- kaishi < - ngx -admin-lte


ngx-admin-lte:(开发分支)是流行的 adminlte 主题的 Angular 版本

kaishi:(master 分支)是我的核心库,其中包括 ngx-admin-lte 并添加了其他核心功能。

simple-kaishi : (master 分支) 是我的示例项目,其中包括 kaishi


重现

  1. 克隆开士
  2. 开士>npm install
  3. kaishi>npm run packagr将 kaishi 打包为特征库
  4. 克隆simple-kaishi
  5. 简单的开始>npm install
  6. 简单的开始>npm link ../kaishi/dist
  7. simple-kaishi>npm start应该没问题
  8. simple-kaishi>npm run build构建失败!

构建错误是

错误:/git/simple-kaishi/node_modules/kaishi/node_modules/ngx-admin-lte/ngx-admin-lte.d.ts 中的模块“NgxAdminLteModule”声明的意外值“未定义”

怎么了?


- 细节 -

我的ng -- version

Angular CLI: 1.7.3
Node: 8.10.0
OS: win32 x64
Angular: 5.2.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.7.3
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2


+++ 更新 +++

我注意到问题出现了,ng build --prod但不是ng build。我的项目结构不是原因,但原因是围绕外部库ngx-admin-lte

4

1 回答 1

1

最后我得到了它!

问题出在 AOT 编译选项中。事实上,npm run build启动ng --prod--AOT=true. ngx-admin-lte lib 有一个错误。

这条评论帮助我解决了。在主 ts 文件中,它需要将以下所有导入替换
import { LogoComponent } from './widgets/logo'
为:
import { LogoComponent } from './widgets/logo.component'

我已将 PR 推送到 ngx-admin-lte 并且库已修复。
我的项目结构没问题。
如果这很有用,如果遇到类似的错误,请查找 AOT 编译器问题。

于 2018-04-09T21:23:07.560 回答