2019-02-15

工作杂记

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

你可能感兴趣的:(2019-02-15)