【发布时间】:2019-04-04 11:27:53
【问题描述】:
我想在 npmjs 中发布一个简单的 Angular 库。所以,我遵循的步骤是:
-
创建项目:
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 repo 安装库时npm install --save my-lib
库下载和安装没问题,但是库好像是空的,所以缺少所需的模块,如果我尝试在项目中导入模块,它会失败,并且我收到一条错误消息,指出模块不存在存在。
如何发布包含模块的库或我想保持可用的模块?
【问题讨论】:
-
首先你要检查你从 NPM 在 node_module 下获得的模块。在尝试使用/导入之前查看它们是否包含任何文件夹/代码
-
我已经检查了 node_modules 文件夹。当我从 npm repo 导入 lib 时它什么都没有,所以就像模块从未导出过一样
-
那你应该修改你发布模块到 NPM 的部分你是否指向正确的目录...等等等等...也许尝试先发布一个随机的 js 文件看看是否它有效
-
它是正确的路径(或目录)。我已经尝试了几次。问题是 npm pack 命令通过而 npm publish 方式失败的测试。太奇怪了。
标签: angular npm angular7 npmjs