node入门

process  进程 常用

node入门
/*
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  最后执行setImmediate
View Code

env  系统执行环境

node入门
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的区分

node入门
/*
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环境 定界符,分隔符 及在任何操作系统上获得一致的结果如何使用

node入门
/*
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

 

上一篇:18Django-raise TypeError(f'Object of type {o.__class__.__name__} ' TypeError: Object of ty


下一篇:Ubuntu16.04 files blocked cleaning等问题