angulartypescripthtml5-filesystem

FileSystem in Typescript


How can I use FileSystem API in TypeScript in an Angular 4 application?

I added @types/filesystem to devDependencies, but I still get compile errors like

Property 'resolveLocalFileSystemURL' does not exist on type 'Window'.

Cannot find name 'FileError'.

Cannot find name 'FileEntry'.

My tsconfig.json is almost the same as the one generated by angular-cli, I just added "node_modules/typed-cordova-plugin-purchase to typeRoots:

{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types",
            "node_modules/typed-cordova-plugin-purchase"
    ],
    "lib": [
      "es2016",
      "dom"
    ]
  }
}

Should I import anything? Are there any examples of using FileSystem in Typescript?


Solution

  • I made it finally work by adding types to tsconfig.json, actually tsconfig.app.json (I'm using angular CLI 1.0.1)

    "types": [
        "cordova",
        "cordova-plugin-file"
    ]
    

    Using @types/filesystem is not enough as FileError is not defined there, that's why I used "@types/cordova-plugin-file.