Angular CLI-使用“ ng new library”创建的自定义库时,“ Cannot find module”

时间:2019-09-26 06:46:27

标签: angular angular-cli

使用ng new library lib-name在Angular CLI中创建库后,我正尝试使用自己的库。

我正尝试以这种方式导入该库:

import {MyLibModule} from 'ngx-mylib';

但是出现以下错误:

 error TS2307: Cannot find module 'ngx-mylib'.

我做了ng build ngx-mylib,还验证了我的tsconfig.json具有以下路径(使用CLI自动添加):

"paths": {
      "ngx-mylib": [
        "dist/ngx-chartjs"
      ],
      "ngx-mylib/*": [
        "dist/ngx-chartjs/*"
      ]
    }

public-api.ts:

export * from './lib/charts.service';
export * from './lib/chart.component';
export * from './lib/charts.module';

我缺少什么?

2 个答案:

答案 0 :(得分:1)

构建库后,您必须将其打包。

转到您的dist文件夹并运行

npm pack

这将创建一个your-lib-name.tgz文件,然后您可以在您的项目中使用它。

像这样使用它:

npm install path-to-your-tgz-file/your-lib.tgz

您还可以将其发布到npm或私有存储库。

答案 1 :(得分:0)

尝试再次构建它,然后运行您的项目,有时angular无法正确构建该库