我正在尝试构建我的angular5项目,但它失败了。
这是 deps树的摘录:
simple-kaishi< - kaishi< - ngx-admin-lte
ngx-admin-lte :(开发分支)是流行的管理主题
kaishi :( master branch)是我的核心库,包含ngx-admin-lte并添加了其他核心功能。
simple-kaishi :( master branch)是我的示例项目,包括kaishi
重现:
npm install
npm run packagr
npm install
npm link ../kaishi/dist
npm start
应该没问题npm run build
构建失败!构建错误
错误输入:模块声明的意外值'undefined' '/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
+++ UPDATE +++
我注意到问题出现在ng build --prod
但问题出现在ng build
上。
我的proj结构不是原因,但原因在于外部库ngx-admin-lte
答案 0 :(得分:1)
最后我明白了!
AOT编译选项存在问题。实际上,npm run build
启动ng --prod
这是--AOT=true
的捷径。 ngx-admin-lte lib有一个错误。
这comment帮我解决了。在主ts文件中,它需要替换所有后续导入,如下所示:
import { LogoComponent } from './widgets/logo'
搭配:
import { LogoComponent } from './widgets/logo.component'
我已将PR推送到ngx-admin-lte并修复了图书馆 我的项目结构还可以 如果这很有用,如果收到与此类似的错误,请查找AOT编译器问题。