nodejs 学习笔记(一)path

今天在项目中遇到问一个问题,就是想设置项目使用数据库路径为系统指定路径。由于自己的操作系统位Mac OSX,查看了一下Mac File System介绍,自己做的app的数据(数据库tingodb)位置一般应该位于$HOME/Library/Application Support/APP_NAME目录下.

那么问题来了,我在js代码中如何设置数据库的路径呢。

直接设置 path = '~/Library/Application\ Support/APP_NAME/db'发现是不行的,path = '$HOME/Library/Application\ Support/APP_NAME/db'也同样不行。

之后发现可以使用node path module 进行路径的操作,如何找到user home path 仍然是个问题,在终端terminal 里面直接 cd ~ 就可以了,但是在程序中如何得到呢。经过不懈努力查找,在这个答案中找到解决方案
var home = process.env.HOME || process.env.HOMEPATH || process.env.USERPROFILE; 成功拿到 user home path 。 之后问题就应迎刃而解了。
path.join(home,'/Library/Application\ Support/APP_NAME/db')就设置成功。

其他参考有用的资料:

  1. nodejs path normalize 与 resolve的区别
  2. OSX Library Directory Details
  3. chromium user data directory
知识共享许可协议