Angular 6库-无法解析条目

时间:2019-02-27 06:59:50

标签: angular angular6 angular-library

在构建angular库项目时出现以下错误。

Building Angular Package
Building entry point '@abc/lib'
Compiling TypeScript sources through ngc
Bundling to FESM2015

BUILD ERROR
Could not resolve entry (C:\Dev\abc\build\dist-npm\esm2015\abc-lib.js)
Error: Could not resolve entry (C:\Dev\abc\build\dist-npm\esm2015\abc-lib.js)
    at error (C:\Dev\abc\node_modules\rollup\dist\rollup.js:3460:30)
    at C:\Dev\AppBuilder\node_modules\rollup\dist\rollup.js:21474:17

Could not resolve entry (C:\Dev\abc\build\dist-npm\esm2015\abc-lib.js)
Error: Could not resolve entry (C:\Dev\abc\build\dist-npm\esm2015\abc-lib.js)
    at error (C:\Dev\abc\node_modules\rollup\dist\rollup.js:3460:30)
    at C:\Dev\AppBuilder\node_modules\rollup\dist\rollup.js:21474:17

我仅在module文件中添加新的public_api.ts时收到此错误

export * from './lib/designer.service';
export * from './lib/designer.component';
export * from './lib/designer.module';
export * from './lib/core/app-core.module'; // new module

我正在使用以下命令来构建模块

  

ng build lib

知道为什么我会收到此错误吗?

2 个答案:

答案 0 :(得分:5)

我面临着同样的问题。我的错误是:

在库中的一项服务中,我使用了环境变量并将其导入为:

ForEach ($item In $pkg){
    if( -not $dictionary.Item($item.Id)){
        $dictionary.Add($item.Id, $item.Version)
    }
}

因此,在构建时,它无法获取相对路径并显示错误。我将其删除,效果很好。

请确保在您的库模块中,您不引用与主项目相关的任何项目,或者不导入任何相对路径

答案 1 :(得分:0)

我的组件库项目遇到相同的问题。 我通过将dist文件夹中的A库引用到库B中来使用库A。 问题是由于按路径引用库A。

我通过使用以下命令将库A正确安装到B中解决了此问题 npm安装A@0.0.1。

这解决了我的问题。