桌面应用程序上的共享设置位置

时间:2014-07-22 09:12:01

标签: javascript node.js node-webkit

背景

我正在尝试使用 NodeWebKit 编写应用程序。此应用程序具有 TWO 部分。

第一个service,它将安装在用户计算机上,此服务将在启动时运行并观察目录以进行更改。

第二个是GUI客户端,这将是指定要监视的目录的客户端。

所以我认为GUI客户端将保存指定要监视的目录列表的文件,服务将查看该文件以了解他将要监视的目录。

这个想法是,当用户安装客户端GUI应用程序时,它还将安装该服务并运行该服务。

问题

我还需要支持跨平台。

  • 如何知道在OSX和Windows中保存设置文件的位置?
  • 我应该重构架构吗?

1 个答案:

答案 0 :(得分:1)

关于您的架构:当然,这应该可行,尽管它可能不如您在Windows上那么高效。 (Windows不会很好地执行文件更改事件,但是再次,它做得怎么样?;)

就应用程序配置文件而言:

为什么不将应用配置保存到用户的数据目录?

来自描述nw.gui App对象的node-webkit API docs

  

nw.gui.App.dataPath

     
    

在用户的目录中获取应用程序的数据路径。

         
        
  • Windows:%LOCALAPPDATA%/< name>
  •     
  • Linux:〜/ .config /< name>
  •     
  • OSX:〜/ Library / Application Support /< name>
  •     
         

其中< name>是清单中的字段。

  

注意:这意味着应用程序name文件中的package.json字段。因此,如果您的应用被命名为" Foo"并且您&#39 ;在Windows 7和用户名"用户",nw.gui.App.dataPath下运行将返回" C:\ Users \ User \ AppData \ Local \ Foo"

我建议您将所有应用配置数据保存为JSON,以便于加载和访问。

来自require功能的node.js docs说明:

  
    

文件模块#

         

如果找不到确切的文件名,则node将尝试加载所需的文件名,并添加.js, .json 的扩展名,然后添加.node。

         

.js文件被解释为JavaScript文本文件, .json文件被解析为JSON文本文件 。 .node文件被解释为用dlopen加载的已编译的插件模块。

  

注意:为了清晰起见,增加了重点。

瞧! C' est simple!