Angular 导出节点模块,其中包含角方向的组件库?

Angular 导出节点模块,其中包含角方向的组件库?,angular,jwt,node-modules,angular-library,angular2-jwt,Angular,Jwt,Node Modules,Angular Library,Angular2 Jwt,我使用Angular CLI创建了一个组件库,并且有一个单独的测试应用程序导入该库 组件库构建得很好,但我在测试应用程序中运行“ng serve”时遇到问题,因为库中的一个组件使用了我专门安装在库中的npm包:“jwt decode” 例如,库中的一个组件具有以下行: import * as jwt_ from 'jwt-decode'; 库的package.json有以下行 "dependencies": { "@types/jwt-decode": "^2.2.1", "j

我使用Angular CLI创建了一个组件库,并且有一个单独的测试应用程序导入该库

组件库构建得很好,但我在测试应用程序中运行“ng serve”时遇到问题,因为库中的一个组件使用了我专门安装在库中的npm包:“jwt decode”

例如,库中的一个组件具有以下行:

import * as jwt_ from 'jwt-decode';
库的package.json有以下行

"dependencies": {
    "@types/jwt-decode": "^2.2.1",
    "jwt-decode": "^2.2.0"
 }
虽然组件库构建正确,但在为导入此库的应用程序提供服务时,会出现以下错误:

未找到模块:错误:无法解析“…/dist/myLibrary/fesm2015”中的“jwt解码”。


基本上,我如何导出一个包(我在库中安装了npm),使用组件库本身。我需要向库的public-api.ts文件添加任何内容吗?

您必须将依赖项安装到使用该库的应用程序中。因此,您必须在应用程序中运行
npm install jwt decode
。没有办法解决此问题。我正在尝试将其抽象出来,因为只有组件需要它组件库,而不是单独的应用程序。它与Angular无关。npm就是这样工作的。你有一个对等依赖项,应用程序可能使用相同的库,但版本略有不同。因此,应用程序决定安装哪个库和哪个版本。你必须将依赖项安装到使用e库。所以你必须在应用程序中运行
npm install jwt decode
。没有办法解决这个问题吗?我正试图从组件库中提取它,因为只有组件需要它,而不是单独的应用程序。它与Angular无关。这就是npm的工作方式。你有一个对等依赖关系,应用程序可能使用相同的l但版本略有不同。所以应用程序决定安装哪个库和哪个版本。