Angular Typescript中的文件系统

Angular Typescript中的文件系统,angular,typescript,html5-filesystem,Angular,Typescript,Html5 Filesystem,如何在Angular 4应用程序的TypeScript中使用文件系统API 我将@types/filesystem添加到devdependency,但仍然会出现编译错误,如 类型“Window”上不存在属性“resolveLocalFileSystemURL” 找不到名称“FileError” 找不到名称“FileEntry” 我的tsconfig.json与angular cli生成的几乎相同,我只是在typeRoots中添加了“node\u模块/TypeCordova插件购买”: { &

如何在Angular 4应用程序的TypeScript中使用文件系统API

我将
@types/filesystem
添加到
devdependency
,但仍然会出现编译错误,如

类型“Window”上不存在属性“resolveLocalFileSystemURL”

找不到名称“FileError”

找不到名称“FileEntry”

我的
tsconfig.json
与angular cli生成的几乎相同,我只是在
typeRoots
中添加了
“node\u模块/TypeCordova插件购买”

{
  "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"
    ]
  }
}
我应该进口什么吗?
有在Typescript中使用文件系统的例子吗?

我通过将
类型添加到
tsconfig.json
,实际上是
tsconfig.app.json
(我使用的是angular CLI 1.0.1),最终实现了文件系统的功能


使用
@types/filesystem
是不够的,因为那里没有定义
FileError
,这就是为什么我使用
“@types/cordova plugin file

作为前面答案的补充,如果您还没有这样做,请确保将@types/cordova(可能还有@types/cordova plugin file…请参阅下面的注释)添加到您的项目中。这是我的情况编译一个基于angular 5的应用程序到另一个基于cordova的目标

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

(后一个插件声明:这是Apache Cordova文件系统插件的存根类型定义。Apache Cordova文件系统插件提供自己的类型定义,因此您不需要安装@types/Cordova plugin File!)

向我们展示您尝试使用itSee的代码。确保您没有
类型
,或者您将其添加到
类型中(如果有)。正确的
typeRoots
永远不会受伤。请在问题中提供tsconfig。@estus,我更新了我的问题。@FredrikLundin,甚至做了
window。requestFileSystem
也会抛出同样的错误。但是为什么要“借用”cordova类型定义呢?这些应该被定义为标准DOM例程的一部分,对吗?显然,它似乎不包括在标准DOM中。据我所知,这个api仍然是实验性的,建议在它变得更稳定之前不要为它实现类型。您可以在此处看到讨论:。cordova插件文件似乎是一个不错的选择。我会试试看。
npm install @types/cordova --save
npm install @types/cordova-plugin-file --save