【发布时间】:2020-02-10 22:08:57
【问题描述】:
在创建Angular 应用程序时,我想构建一个库,我可以在其中放置即使在其他项目中也很有用的组件。为了创建库,我创建了另一个 Angular 工作区,我在其中生成了库项目,并使用工作区中自动生成的应用程序项目来显示各个组件。
ng new my-components-library
cd my-components-library
ng generate library components-library
现在我有一个包含工作组件的库,这些组件通过了单元测试并在附加的应用程序项目中正常工作,但我在项目的工作区中需要它们。我试图以这种方式包含库。
在我的项目工作区中
npm install ../my-components-library/projects/components-library
命令正常运行,我在宿主项目的 package.json 中获得了对该库的引用,但是当我必须使用 import {myModule} from 'components-library' 在项目模块中包含来自外部库的模块时,我收到一个错误,因为 Angular 不能找到模块。
【问题讨论】:
-
您应该使用
npm link命令而不是npm install命令安装本地库。文档:docs.npmjs.com/cli/link.html -
我们不能在 tsconfig.json 中的路径部分设置路径,例如“paths”:{“components-library”:[“../my-components-library/projects/components-library”] }
-
您好,您需要构建您的库创建一个包并将该包安装到您的主模块这是库的工作原理,如果您需要更多详细信息,请告诉我会为您提供
标签: angular typescript npm