在 Angular 6 中尝试从我的库中导入模块时出现类型错误 [ERR_INVALID_ARG_VALUE]

TypeError [ERR_INVALID_ARG_VALUE] while trying to import module from my library in Angular 6

我正在尝试在应用程序中使用我创建的 Angular 6 库。我能够在 this guide 之后生成、配置和编译库,但我似乎无法在另一个 Angular 项目中使用它。我使用 npm pack 创建了一个本地包,并使用 .tgz 文件路径将其安装在 npm install 的 Angular 应用程序中。这里有一些信息:

图书馆的tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "module": "es2015",
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": ["node_modules/@types"],
    "lib": ["es2017", "dom"],
    "paths": {
      "lib-components": ["dist/lib-components"],
      "lib-components/*": ["dist/lib-components/*"]
    }
  }
}

public_api.ts

/*
 * Public API Surface of lib-components
 */

export * from './lib/components/spinner/spinner.module';

消费者应用程序中的导入语句:

import { BootstrapSpinnerModule } from 'lib-components';

错误:

TypeError [ERR_INVALID_ARG_VALUE]: The argument 'path' must be a string or
Uint8Array without null bytes. 
Received 'path_to_app_root/src/\u0000commonjsHelpers.js/package.json'
    at readFile (fs.js:296:3)
...

版本:

"@angular/cli": "~6.2.9" 消费者和图书馆

"@angular/*": "6.1.0" 消费者和图书馆

我已经尝试了我在 Github 问题中找到的所有建议,但没有成功。

从头开始创建一个新库似乎已经解决了这个问题。一开始无法确定它无法正常工作的确切原因,但我采取了一些步骤,以防您将来遇到同样的问题:

  • 确保你的 angular-cli 版本是你的主要版本的最新稳定版本(必须从 6.1.x 更新到 6.2.9),并记住你的本地 cli 版本覆盖了全局的,所以你可能必须更新两者(在问题中我说我使用的是最新的 cli 版本,但我生成了版本 6.1.x 的库,在一切都坏了之后我尝试更新cli。不要那样做。如果你更新你的 cli,生成一个新的库。
  • 不知道这是不是一个问题,但我重命名了库以防我不小心使用了某种保留字(从 lib-componentsmy-company-components