在 node.js 中,我试图以一种不错的跨平台方式找出我的应用程序设置文件应该在哪里的路径。
- Unix:~/.my-app/file
- Windows:%APPDATA%\my-app\file
- Mac:~/Library/Application Support/my-app/file(或~/.my-app/file)
或类似的规定。
我不想硬编码查找用户所在的操作系统,因为这看起来非常骇人听闻,而且完全没有未来可言。我希望, 或中有什么东西os
,但我一直找不到。path
fs
因此,您正在寻找的是path-extra模块,它向 Node 的内置路径添加了一些实用功能。我在 NPM 中通过这个简单的搜索找到了它,只是让你知道:npm 的搜索引擎变得非常好!
你这样使用它:
var path = require('path-extra');
var appPath = path.datadir('appname');
var myFile = path.join(appPath, 'myFile.txt');
...
节点中没有任何东西像您正在寻找的那样。你将不得不自己写。
在回答“我一直找不到它”这个问题时,...检查 node.js 'path' 模块,特别是 path.normalize 和 path.join。
我没有发现需要其他模块,因为“路径”解决了跨平台路径构建。
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',它将产生这些文件/路径值:
C:\projectdir\fs\remote\myfile.txt
/home/myusername/projectdir/fs/remote/myfile.txt