已发布的角度库在npmjs上没有导入模块

时间:2019-04-03 03:32:01

标签: angular npm angular7 npmjs

我想在npmjs中发布一个简单的角度库。因此,我遵循的步骤是:

  1. 创建了项目:

    ng new my-project
    
  2. 创建了库:

    ng g library my-lib
    
  3. 为该库创建了一个模块:

    ng g module module1 --project my-lib
    
  4. 向模块中写入一些代码:

  5. 将库声明添加到public_api.ts文件:

    export * from './lib/module1/module1.module';
    
  6. 构建并发布该库:

    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 

库的下载和安装还可以,但是就像库是空的,因此缺少所需的模块,如果我尝试在项目中导入模块,它将失败,并且我收到一条错误消息,指出该模块没有存在。

如何发布包含要保持可用状态的模块的库?

1 个答案:

答案 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文件。