是否可以检查Angular库在运行时是否可用



我正在创建一个Angular库-我们称之为libA-它可以使用另一个AngularLibrary-我们称其为libB,用于可选功能,即,如果Angular应用程序没有libBibAibB,则libA中的功能将可用。

因此,要实现此行为,我必须在libA中进行验证,以检查libB是否可用。但是,我在验证应用程序中是否安装了libB时遇到了问题。

有人知道我如何检查libB是否安装在libA内部的应用程序中吗?

projects/libA/package.json

{
"name": "libA",
"version": "0.0.0",
"peerDependencies": {
"libB": "0.0.0",
},
"dependencies": {
"tslib": "^2.0.0"
},
"publishConfig": {
"registry": "http://192.168.10.20:4873"
}
}

主包配置见(示例(:如何将angular项目设置为另一个angular项目的package.json中的依赖项

我的解决方案是(IP就是一个例子(

我运行自己的注册表(例如:https://verdaccio.org/)在一个Linux虚拟机上(也存在docker(,然后我将我的包上传到其中。每套包装:

{
"name": "@my-name/package-name",
"version": "0.0.0",
"peerDependencies": {
...
},
"dependencies": {
"tslib": "^2.0.0"
},
"publishConfig": {
"registry": "http://192.168.10.20:4873"
}
}
$ ng build <package-name>
$ cd /path/to/dist/package-name
$ npm publish

在Angular项目中

$ npm login --scope=@my-name --registry=http://192.168.10.20:4873/
$ npm install @my-name/package-name

(我用了很多配置来设置注册表,所以登录可能不够。我没有跟踪它。:D(

最新更新