0

我想在 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 repo 安装库时

npm install --save my-lib 

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

我如何发布带有模块或我想保持可用的模块的库?

4

1 回答 1

0

我解决了这个问题。在第 6 步中,运行:

ng build my-lib
cd dist/my-lib
npm pack
npm publish my-lib-0.0.1.tgz

现在,它已发布并包含我需要的所有内容,我可以从 npm repo 运行 npm install 而不会出现任何问题。解决方案只是在之前运行 npm pack 命令并发布 tgz 文件而不是 dist 文件。

于 2019-04-04T03:27:53.090 回答