Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 606
Adrian Ber Avatar asked Jul 05 '26 04:07

Adrian Ber


2 Answers

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.

like image 119
Adrian Ber Avatar answered Jul 07 '26 21:07

Adrian Ber


As an addition to the previous answer, be sure to add @types/cordova (and possibly @types/cordova-plugin-file... see note below) to your project if you have not done so already. That was my situation compiling an angular 5 based app to an alternate cordova-based target.

npm install @types/cordova --save
npm install @types/cordova-plugin-file --save

(the latter plugin states: This is a stub types definition for Apache Cordova File System plugin. Apache Cordova File System plugin provides its own type definitions, so you don't need @types/cordova-plugin-file installed!)

like image 44
JHBSA Avatar answered Jul 07 '26 22:07

JHBSA



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!