【发布时间】:2019-08-05 04:55:54
【问题描述】:
我的要求是创建具有自己视图的库,并且根据用户的配置,该库将从 AWS S3 存储桶中获取并包含在运行时的最终应用程序中。
See this example。我可以在主应用程序中添加dist/library/bundles/library.lib.umd.js 并将其显示给用户。但是当我尝试使用uuid、moment 或ng2-dragula 等第三方库时,ng build 命令在最终包中不包含任何第三方库。我收到类似警告
'ng2-dragula' is imported by ..\..\dist\torab-custom-lib\esm5\lib\custom-lib.service.js, but could not be resolved – treating it as an external dependency
在构建库和我的应用程序时,projects/library 存在显示
ERROR in dist/torab-custom-lib/lib/custom-lib.component.d.ts(2,32): error TS2307: Cannot find module 'ng2-dragula
我想要在最终包中包含我使用的任何第三方库,因为我无法在运行时安装/导入它们。我试过了
"bundledDependencies": [
"ng2-dragula"
]
在package.json 建议here 和
"embedded": [
"ng2-dragula"
],
在我的ng-package.json 中建议here。这是我的环境信息
Angular CLI: 7.1.4
Node: 11.10.0
OS: win32 x64
Angular: 7.1.4
... animations, cli, common, compiler, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package Version
------------------------------------------------------------
@angular-devkit/architect 0.11.4
@angular-devkit/build-angular 0.13.5
@angular-devkit/build-ng-packagr 0.11.4
@angular-devkit/build-optimizer 0.13.5
@angular-devkit/build-webpack 0.13.5
@angular-devkit/core 7.1.4
@angular-devkit/schematics 7.1.4
@angular/compiler-cli 7.2.9
@ngtools/json-schema 1.1.0
@ngtools/webpack 7.3.5
@schematics/angular 7.1.4
@schematics/update 0.11.4
ng-packagr 4.7.1
rxjs 6.3.3
typescript 3.1.6
webpack 4.29.0
请帮忙。如果有不同的方式在应用程序的运行时加载第三方库,也请提出建议。
【问题讨论】:
-
我认为您需要使用来自
bundledDependencies的npm pack和npm publish。这就是 ng-packgr 文档的建议
标签: angular webpack-4 angular-library ng-build angular-cli-v7