【问题标题】:Is it possible to create a client-side workspace-based app in Angular2?是否可以在 Angular2 中创建基于客户端工作区的应用程序?
【发布时间】:2017-08-21 14:26:18
【问题描述】:

我希望在 Angular2 中创建一个仅限客户端的应用程序,提示用户在其硬盘上选择一个文件夹作为工作区,这意味着文件将由该文件夹内的应用程序写入。我想知道如何做到这一点,或者是否有可能。提前谢谢你。

【问题讨论】:

  • 我不太确定它是否适用于 Angular,但您可以查看 electron.atom.io
  • 我只是看了一下,显然它确实适用于 Angular。检查auth0.com/blog/create-a-desktop-app-with-angular-2-and-electron了解更多信息。
  • 这很酷。但您可能还想确保您打算使用的功能可用于电子。
  • 如果你真的需要的话,我想你可以使用 AJAX 和 PHP 来访问系统的文件。

标签: javascript node.js angular


【解决方案1】:

没有。

在浏览器扩展之外的网络浏览器中运行的 JavaScript 无法写入用户的文件系统。

它只能从使用文件输入明确选择的文件中读取。

最接近例外的是内部浏览器存储区域,例如 localStorage。

【讨论】:

    【解决方案2】:

    TL;DR 号

    但是您可以使用File and Directory Entries API,它可以工作only in Chrome and Firefox,并且是非标准的。

    而且我不建议使用它,就像文档说的那样:

    此功能是非标准的,不在标准轨道上。不要在面向 Web 的生产站点上使用它:它不适用于每个用户。实现之间也可能存在很大的不兼容性,并且行为可能会在未来发生变化。

    【讨论】:

    • 确实,我接到的任务需要应用程序在所有平台上运行。我想知道我是否可以完全避免服务器端编程,但似乎不行。
    • 不幸的是,网页上的 Javascript 目前无法做到这一点。
    • File and Directory Entries API aka 只是“Entries API”wicg.github.io/entries-api 现在在所有主要浏览器引擎的某些版本中都得到支持——它今天刚刚在 Safari 技术预览版中发布@ 987654325@,Edge 已经支持它一段时间了。
    【解决方案3】:

    是的。

    如果您使用诸如Electron 之类的框架,则可以在其中使用Angular2。 这种方法不使用浏览器,它在计算机上显示为“普通”应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      • 2015-10-03
      • 2019-12-11
      • 1970-01-01
      • 2020-07-11
      相关资源
      最近更新 更多