电子:从客户端获取文件夹结构

时间:2016-09-28 07:40:41

标签: angular desktop-application electron

我正在开发Angular2 + Electron桌面应用程序。作为样板,我采用了简单的例子Angular2 + Electron

我需要通过拖放来获取文件夹结构。将文件夹拖放到该区域。我找到了一旦它落到区域后如何获取有关文件夹的信息的方法。现在需要借助此信息获取文件夹结构。以下是返回对象的示例:

{
  lastModified: 1460044264000,
  lastModifiedDate: "Thu Apr 07 2016 18: 51: 04 GMT + 0300(EEST)",
  name: "dna",
  path: "/Users/myUser/Pictures/folder",
  size: 340,
  type: "",
  webkitRelativePath: ""
}

有关此问题的任何信息都将不胜感激!

1 个答案:

答案 0 :(得分:1)

首先使用fs stats检查这是否是目录。

然后使用fs node module读取文件夹中的可用文件和文件夹。

<强>更新

如果您使用webpack作为构建器,请务必按照target: "electron-renderer"中的说明设置webpack docs

TS会在import * as fs from 'fs'抱怨。

解决此问题的

第一种方法是添加declare var require:any并使用const fs = require('fs') - 丑陋的黑客。

第二次是添加节点类型typings install dt~node -GS,将tsconfig.json配置为:

{
  "compilerOptions": {
    "target": "ES6",
    "module": "commonjs",
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true
  },
  "exclude": [
    "node_modules"
  ],
  "filesGlob": [
    "./src/customDefinitions.d.ts",
    "./src/app/**/*.ts",
    "!./node_modules/**/*.ts",
    "typings/index.d.ts"
  ]
}

并使用import * as fs from 'fs';