我想在npmjs中发布一个简单的角度库。因此,我遵循的步骤是:
创建了项目:
ng new my-project
创建了库:
ng g library my-lib
为该库创建了一个模块:
ng g module module1 --project my-lib
向模块中写入一些代码:
将库声明添加到public_api.ts文件:
export * from './lib/module1/module1.module';
构建并发布该库:
ng build my-lib
cd dist/my-lib
npm publish
当我在本地测试库时,它可以工作并且库具有导出的模块。
如果我跑步
npm pack
,然后使用
导入库npm install --save path/to/my-lib.tgz
在另一个项目中,它可以工作,并且库具有导出的模块。
但是
当我使用
从npm存储库中安装库时npm install --save my-lib
库的下载和安装还可以,但是就像库是空的,因此缺少所需的模块,如果我尝试在项目中导入模块,它将失败,并且我收到一条错误消息,指出该模块没有存在。
如何发布包含要保持可用状态的模块的库?
答案 0 :(得分:0)
我解决了这个问题。 在第六步中,运行:
ng build my-lib
cd dist/my-lib
npm pack
npm publish my-lib-0.0.1.tgz
现在,它已发布并包含我需要的所有内容,并且我可以从npm回购中运行npm install,而不会出现任何问题。 解决方案只是在之前运行npm pack命令,然后发布tgz文件而不是dist文件。