在node.js中跨平台隐藏的设置文件
在node.js中,我试图找出一个path,我的应用程序的设置文件应该是一个很好的,跨平台的方式。
- Unix:〜/ .my-app /文件
- Windows:%APPDATA%\ my-app \ file
- Mac:〜/ Library / Application Support / my-app / file(或〜/ .my-app / file)
或类似的规定。
我不想用硬编码查找用户所在的操作系统,因为这看起来非常可怕,而且完全没有前途。 我希望在os
, path
或fs
有一些东西,但我一直无法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