工作杂记
1.文件
- 1. __dirname&process.cwd
有时候需要获取执行文件的路径;有时候需要获取执行程序的路径;通常两者是相通
console.log('__dirname'+ __dirname);
console.log(process.cwd())**
- 2.文件监护
监视filename文件的变化。每当文件被访问的时候都会调用listener。
第二个参数可选。如果有,它必须包含两个boolean参数(persistent和interval)的对象。persistent指定文件被监视时进程是否继续运行。interval指定了查询文件的间隔,以毫秒为单位。缺省值为{ persistent: true, interval: 5007 }。
listener有两个参数,第一个为文件现在的状态,第二个为文件的前一个状态:
listener中的文件状态对象类型为fs.Stat。
如果想修改文件时被通知,而不是访问的时候就通知,可以比较curr.mtime和prev.mtime。
fs.watchFile('cf.js',function (curr,prev) {
console.log('curr:' + JSON.stringify(curr))
console.log('prev:'+ JSON.stringify(prev))
})
输出日志json:
curr:
{
"dev":16777220,
"mode":33188,
"nlink":1,
"uid":501,
"gid":20,
"rdev":0,
"blksize":4096,
"ino":5602444,
"size":17,
"blocks":8,
"atimeMs":1549942834285.3027,
"mtimeMs":1549942833665.7556,
"ctimeMs":1549942833667.6865,
"birthtimeMs":1549942833665.6511,
"atime":"2019-02-12T03:40:34.285Z",
"mtime":"2019-02-12T03:40:33.666Z",
"ctime":"2019-02-12T03:40:33.668Z",
"birthtime":"2019-02-12T03:40:33.666Z"
}
prev:
{
"dev":16777220,
"mode":33188,
"nlink":1,
"uid":501,
"gid":20,
"rdev":0,
"blksize":4096,
"ino":5602412,
"size":7,
"blocks":8,
"atimeMs":1549942825808.4336,
"mtimeMs":1549942793004.5999,
"ctimeMs":1549942793005.0823,
"birthtimeMs":1549942793004.5066,
"atime":"2019-02-12T03:40:25.808Z",
"mtime":"2019-02-12T03:39:53.005Z",
"ctime":"2019-02-12T03:39:53.005Z",
"birthtime":"2019-02-12T03:39:53.005Z"
}
2.process
- 1.process.env.NODE_ENV
NODE_ENV默认是无值undefined,需要手动设置
process.env.NODE_ENV = 'dev'
console.log(process.env.NODE_ENV)
- 2. process.env.SHELL
获取shell脚本路径/bin/bash