在node.js中跨平台隐藏的设置文件

在node.js中,我试图找出一个path,我的应用程序的设置文件应该是一个很好的,跨平台的方式。

  • Unix:〜/ .my-app /文件
  • Windows:%APPDATA%\ my-app \ file
  • Mac:〜/ Library / Application Support / my-app / file(或〜/ .my-app / file)

或类似的规定。

我不想用硬编码查找用户所在的操作系统,因为这看起来非常可怕,而且完全没有前途。 我希望在ospathfs有一些东西,但我一直无法find它。

所以你要找的东西是path附加模块,它为Node的内置path增加了一些实用function。 我发现它在NPM中的这个简单的search ,只是让你知道:npm的search引擎变得相当好!

你这样使用它:

 var path = require('path-extra'); var appPath = path.datadir('appname'); var myFile = path.join(appPath, 'myFile.txt'); ... 

节点中没有什么像你正在寻找的东西。 你将不得不自己写。

在回答“我一直无法find它”的问题时,检查node.js的'path'模块,特别是path.normalize和path.join。

由于'path'解决了跨平台的path构build,我没有find其他模块的需求。

 http://nodejs.org/api/path.html#path_path_normalize_p 

 http://nodejs.org/api/path.html#path_path_join_path1_path2 

这是我如何使用path.join …

 var pth = require('path'); var fspath_myfile = pth.join(__dirname,'fs','remote','myfile.txt'); 

如果我用完目录“projectdir”,将生成这些文件/path值:

 C:\projectdir\fs\remote\myfile.txt /home/myusername/projectdir/fs/remote/myfile.txt