TypeScript 编译中缺少 index.ts

Aug*_* Li 1 indexeddb typescript tsconfig tslint angular

运行“ng serve”时出现以下错误。

TypeScript 编译中缺少 node_modules/angular2-indexeddb/index.ts。请通过“文件”或“包含”属性确保它在您的 tsconfig 中。丢失的文件似乎是第三方库的一部分。已发布库中的 TS 文件通常是库打包不当的标志。请在库存储库中打开一个问题以提醒其作者并要求他们使用 Angular 包格式 ( https://docs.google.com/document/d/1CZC2rcpxffTDfRDs6p1cfbmKNLA6x5O-NtkJglDaBVs/preview )打包库。

我想问题是 angular2-indexeddb 没有被 tsconfig 编译。 https://github.com/gilf/angular2-indexeddb

我认为应该通过在 tslint.json 中编辑以下配置来临时解决,但我需要一个解决方案来解决它。

  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ] 
Run Code Online (Sandbox Code Playgroud)

是不是因为angular2-indexeddb 没有提供好的打包库?事实上,我认为流行的已发布图书馆不应该有这个问题。或者我错过了配置或编译的东西?我可以使用包编译工具/库将其编译成 d.ts 或 spec.ts 吗?

更新:

事实上,我在目录中看到了 *.d.ts 文件:

ls node_modules/angular2-indexeddb/
LICENSE                                 angular2-indexeddb.metadata.json        index.js
README.md                               angular2-indexeddb.min.js               index.js.map
angular2-indexeddb.d.ts                 angular2-indexeddb.min.js.map           index.ts
angular2-indexeddb.js                   angular2-indexeddb.ts                   package.json
angular2-indexeddb.js.map               index.d.ts
Run Code Online (Sandbox Code Playgroud)

tsconfig.json 中的内容:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

Cha*_*cao 5

{
    "include": [
          "../src/**/*",
          "../node_modules/angular2-indexeddb/index.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

编辑:我建议您将 lib 更改为 ngx-indexed-db,因此您不需要这样做。