TypeScript编译中缺少index.ts

时间:2018-07-28 15:12:17

标签: angular typescript indexeddb tslint tsconfig

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

  缺少

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

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

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

  "include": [
    "**/*.spec.ts",
    "**/*.d.ts"
  ] 

是因为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

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"
    ]
  }
}

1 个答案:

答案 0 :(得分:4)

{
    "include": [
          "../src/**/*",
          "../node_modules/angular2-indexeddb/index.ts"
    ]
}

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