0

这是一个复制它的仓库:https ://github.com/dragonflypl/ng-packagr-issue

  1. 我创建了一个简单的包loggingnpm run build生成库 + 确实npm pack
  2. 然后我fooGui使用 Angular CLI 生成并通过npm run consume安装 tgz安装库
  3. npm run buildfooGui投掷中运行:

./src/app/app.component.ngfactory.js 中的错误 找不到模块:错误:无法解析 'C:\XXX\dev\ng-packagr 中的 'logging/src/modules/logging/logger/index' -issue\fooGui\src\app' resolve 'logging/src/modules/logging/logger/index' in 'C:\XXX\dev\ng-packagr-issue\fooGui\src\app' 解析的请求是一个模块使用描述文件:C:\XXX\dev\ng-packagr-issue\fooGui\package.json(相对路径:./src/app) 使用描述文件后,字段“浏览器”不包含有效的别名配置:C: \XXX\dev\ng-packagr-issue\fooGui\package.json(相对路径:./src/app)解析为模块 C:\XXX\dev\ng-packagr-issue\fooGui\src\app\node_modules '不存在或不是目录 C:\XXX\dev\ng-packagr-issue\fooGui\src\node_modules 不存在't 存在或不是目录 C:\XXX\dev\ng-packagr-issue\node_modules 不存在或不是目录 C:\XXX\dev\node_modules 不存在或不是目录 C:\ XXX\node_modules 不存在或不是目录 C:\node_modules 不存在或不是使用描述文件在 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules 中查找模块的目录:C :\XXX\dev\ng-packagr-issue\fooGui\package.json (relative path: ./node_modules) 使用描述文件后,字段“浏览器”不包含有效的别名配置:C:\XXX\dev\ng -packagr-issue\fooGui\package.json(相对路径:./node_modules)使用描述文件:C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\package.json(相对路径:./src/modules/logging/logger/index) 无扩展字段“浏览器”不包含有效的别名配置 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\ logger\index 不存在 .ts 字段“浏览器”不包含有效的别名配置 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index。 ts 不存在 .js 字段“浏览器”不包含有效的别名配置 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index.js '不作为目录 C:\XXX\dev\ng-packagr-issue\fooGui\node_modules\logging\src\modules\logging\logger\index 不存在

知道我做错了什么还是某处的错误?

4

1 回答 1

1

我找到了罪魁祸首:在公共 api 文件中,我有:

export * from './src/modules/logging/logger';

访问 index.ts。

当我用显式导出替换它时:

export * from './src/modules/logging/logger/logger.service';
export * from './src/modules/logging/logger/log-level.enum';

然后它工作。但现在的问题是:知道为什么吗?因为我不知道。

于 2018-01-25T15:39:46.567 回答