process 进程 常用
/* argv argv0 execArav execPath */ const {argv,argv0,execArgv,execPath}=process; argv.forEach(item => { console.log(item); }); console.log(argv0); console.log(execArgv);//[] console.log(execPath);//G:\nodejs\node.exe setImmediate(()=>{ console.log('setImmediate') });//当前事件队列执行完后,下一个事件循环时执行 setTimeout(()=>{ console.log('setTimeout') },0);//当前事件队列执行完后,下一个事件循环时执行 process.nextTick(()=>{ console.log('nextTick') process.nextTick(()=>{ console.log('nextTick') }) //如果内部继续调用则继续执行process.nextTick(callback);是其他的 则排队到后面 });//当前事件队列执行完后,下一个事件循环时执行 //三个执行顺序 先执行 process.nextTick() 在执行setTimeout/setInterval 最后执行setImmediateView Code
env 系统执行环境
const {env}=process; console.log(env);//当前系统的执行环境 // { // ALLUSERSPROFILE: 'C:\\ProgramData', // ANDROID_HOME: 'G:\\SDK', // APPDATA: 'C:\\Users\\Administrator\\AppData\\Roaming', // CHROME_CRASHPAD_PIPE_NAME: '\\\\.\\pipe\\crashpad_15716_ZGPQBZKVQSBUSSFK', // CLASS_PATH: '.;C:\\Program Files\\Java\\jdk1.8.0_45\\lib\\dt.jar;C:\\Program Files\\Java\\jdk1.8.0_45\\lib\\tools.jar ', // COLORTERM: 'truecolor', // COMMONPROGRAMFILES: 'C:\\Program Files\\Common Files', // COMPUTERNAME: 'DESKTOP-2Q0S8F5', // COMSPEC: 'C:\\Windows\\system32\\cmd.exe', // 'CommonProgramFiles(x86)': 'C:\\Program Files (x86)\\Common Files', // CommonProgramW6432: 'C:\\Program Files\\Common Files', // DriverData: 'C:\\Windows\\System32\\Drivers\\DriverData', // EXEPATH: 'G:\\Git\\bin', // FPS_BROWSER_APP_PROFILE_STRING: 'Internet Explorer', // FPS_BROWSER_USER_PROFILE_STRING: 'Default', // GIT_ASKPASS: 'c:\\Users\\Administrator\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass.sh', // HOME: 'C:\\Users\\Administrator', // HOMEDRIVE: 'C:', // HOMEPATH: '\\Users\\Administrator', // JAVA_HOME: 'C:\\Program Files\\Java\\jdk1.8.0_45', // LANG: 'zh_CN.UTF-8', // LOCALAPPDATA: 'C:\\Users\\Administrator\\AppData\\Local', // LOGONSERVER: '\\\\DESKTOP-2Q0S8F5', // MAVEN_HOME: 'G:\\Maven\\Maven\\apache-maven-3.8.2', // MSYSTEM: 'MINGW64', // NODE_PATH: 'G:\\nodejs\\node_global', // NUMBER_OF_PROCESSORS: '4', // OLDPWD: 'H:/node_all/node', // ORIGINAL_XDG_CURRENT_DESKTOP: 'undefined', // OS: 'Windows_NT', // PATH: 'G:\\Git\\mingw64\\bin;G:\\Git\\usr\\bin;C:\\Users\\Administrator\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0;C:\\Windows\\System32\\OpenSSH;G:\\nodejs;G:\\vscode\\Microsoft VS Code\\bin;G:\\python;G:\\electerm\\electerm-1.14.0-win-x64-loose\\electerm.exe;G:\\Google\\Chrome\\Application\\chrome.exe;C:\\Program Files\\Java\\jdk1.8.0_45\\bin;G:\\mysql-5.7.35-winx64\\bin;G:\\Maven\\Maven\\apache-maven-3.8.2\\bin;C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\bin;G:\\Git\\usr\\bin;G:\\Google\\Chrome\\Application\\chrome;G:\\nodejs\\node_global;G:\\nodejs\\node_global;G:\\python\\Scripts;G:\\wechatOpen\\微信web开发者工具\\dll;G:\\SDK;G:\\SDK\\emulator;G:\\SDK\\platform-tools;G:\\nodejs\\node_global;C:\\Users\\Administrator\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Administrator\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\Administrator\\.dotnet\\tools', // PATHEXT: '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC', // PLINK_PROTOCOL: 'ssh', // PROCESSOR_ARCHITECTURE: 'AMD64', // PROCESSOR_IDENTIFIER: 'Intel64 Family 6 Model 94 Stepping 3, GenuineIntel', // PROCESSOR_LEVEL: '6', // PROCESSOR_REVISION: '5e03', // PROGRAMFILES: 'C:\\Program Files', // PS1: '\\[\\033]0;$TITLEPREFIX:$PWD\\007\\]\\n\\[\\033[32m\\]\\u@\\h \\[\\033[35m\\]$MSYSTEM \\[\\033[33m\\]\\w\\[\\033[36m\\]`__git_ps1`\\[\\033[0m\\]\\n$ ', // PSModulePath: 'C:\\Program Files\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules', // PUBLIC: 'C:\\Users\\Public', // PWD: 'H:/node_all/node/oneday', // ProgramData: 'C:\\ProgramData', // 'ProgramFiles(x86)': 'C:\\Program Files (x86)', // ProgramW6432: 'C:\\Program Files', // SESSIONNAME: 'Console', // SHLVL: '1', // SYSTEMDRIVE: 'C:', // SYSTEMROOT: 'C:\\Windows', // TEMP: 'C:\\Users\\Administrator\\AppData\\Local\\Temp', // TERM: 'xterm-256color', // TERM_PROGRAM: 'vscode', // TERM_PROGRAM_VERSION: '1.63.2', // TMP: 'C:\\Users\\Administrator\\AppData\\Local\\Temp', // USERDOMAIN: 'DESKTOP-2Q0S8F5', // USERDOMAIN_ROAMINGPROFILE: 'DESKTOP-2Q0S8F5', // USERNAME: 'Administrator', // USERPROFILE: 'C:\\Users\\Administrator', // VSCODE_GIT_ASKPASS_EXTRA_ARGS: '--ms-enable-electron-run-as-node', // VSCODE_GIT_ASKPASS_MAIN: 'c:\\Users\\Administrator\\AppData\\Local\\Programs\\Microsoft VS Code\\resources\\app\\extensions\\git\\dist\\askpass-main.js', // VSCODE_GIT_ASKPASS_NODE: 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe', // VSCODE_GIT_IPC_HANDLE: '\\\\.\\pipe\\vscode-git-b2826587c7-sock', // WINDIR: 'C:\\Windows', // _: 'G:/nodejs/node', // __COMPAT_LAYER: 'RunAsAdmin' // }View Code
path 基本用法 process.cwd() ; __dirname;__filename的区分
/* normalize() 可以识别写的不规范又瑕疵的路径转换成规范化路径 join() 拼接路径 resolve() 相对路径转换成绝对路径 basename() 文件名 extname() 文件拓展名 dirname() 文件路径 parse() 将路径转换成对象 format() 讲对象转换程字符串形式 process.cwd();// 总是返回执行node命令所在文件夹 __dirname; // 总是返回当前文件所在文件夹绝对路径 __filename; //总是返回当前文件的绝对路径 */ const { normalize, join, resolve,basename,extname,dirname,parse,format } = require("path"); console.log(normalize("/user//local/bin"));//\user\local\bin 转换不规范的路径 console.log(join('/user','local','bin'));//\user\local\bin console.log(join('/user','../local','bin/'));//\local\bin\ console.log(resolve('./'));//H:\node_all\node\oneday const filePath='/usr/local/bin/no.txt' console.log(basename(filePath));// no.txt console.log(extname(filePath));// .txt console.log(dirname(filePath));// /usr/local/bin let result=parse(filePath); console.log(result); // { // root: '/', // dir: '/usr/local/bin', // base: 'no.txt', // ext: '.txt', // name: 'no' // } console.log(format(result));// /usr/local/bin\no.txt console.log('process.cwd(): ',process.cwd());// 总是返回执行node命令所在文件夹 console.log('__dirname: ',__dirname);// 总是返回当前文件所在文件夹绝对路径 console.log('__filename: ',__filename);//总是返回当前文件的绝对路径View Code
path windows环境 与linux环境 定界符,分隔符 及在任何操作系统上获得一致的结果如何使用
/* sep 提供特定于平台的路径片段分隔符: Windows 上是 \ POSIX 上是 / delimiters 提供特定于平台的路径定界符: ; 用于 Windows : 用于 POSIX win32 当使用 Windows 文件路径时,若要在任何操作系统上获得一致的结果,则使用 path.win32: posix 当使用 POSIX 文件路径时,若要在任何操作系统上获得一致的结果,则使用 path.posix: */ const {sep,delimiter,win32,posix}=require("path"); console.log("sep: ",sep);// \ console.log("win sep: ",win32.sep);// \ console.log("path: ",process.env.PATH); //进程执行的系统环境 console.log("delimiter: ",delimiter); // ; console.log("delimiter: ",win32.delimiter); // ;View Code