国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Node.js中process模塊常用的屬性和方法

2019-11-19 18:32:01
字體:
供稿:網(wǎng)友

前言

雖然node對(duì)操作系統(tǒng)做了很多抽象的工作,但是你還是可以直接和他交互,比如和系統(tǒng)中已經(jīng)存在的進(jìn)程進(jìn)行交互,創(chuàng)建工作子進(jìn)程。node是一個(gè)用于事件循環(huán)的線程,但是你可以在這個(gè)事件循環(huán)之外創(chuàng)建其他的進(jìn)程(線程)參與工作。

如果不是和命令行工具打交道,可能我們很少有機(jī)會(huì)去用到process模塊中的一些方法或者屬性。不過如果你要做類似于webpack或者gulp等較為復(fù)雜的構(gòu)建工具,由于bash界面就是和用戶直接交流的工具,因此友好的輸入輸出,完整的提示都非常有必要了。

屬性

一張表格大概可以看到process有哪些屬性

屬性名稱 用途
platform 判斷當(dāng)前系統(tǒng)平臺(tái)
argv 當(dāng)前進(jìn)程的命令行參數(shù)數(shù)組
execPath 當(dāng)前進(jìn)程的可執(zhí)行文件的絕對(duì)路徑
stdout 指向標(biāo)準(zhǔn)輸出
stdin 指向標(biāo)準(zhǔn)輸入
stderr 指向標(biāo)準(zhǔn)錯(cuò)誤
stderr 指向標(biāo)準(zhǔn)錯(cuò)誤

我們可以直接在代碼中這樣使用

console.log(porcess.platform) // darwin

使用argv 會(huì)返回命令行的數(shù)組,我們可以通過數(shù)組來獲取用戶具體的命令

console.log(process.argv); // [ '/usr/local/bin/node', '/Users/ali-130257n/www/weex-jackzoo/projects/demo.js', '-p', '-v' ]

一般情況下,我們更想獲取最后的一些參數(shù),前面兩個(gè)不需要,我們可以

let args = process.argv.slice(2); console.log(args)// [ '-p', '-v' ]

方法

process 提供的方法有很多。大致我們可以用到的有下面一些。

     cwd:返回運(yùn)行當(dāng)前腳本的工作目錄的路徑

     abort:立即結(jié)束進(jìn)程

     nextTick: 指定下次事件循環(huán)首先運(yùn)行的任務(wù)

process 支持的一些事件,通過一些事件,我們可做一些友好的提示或者處理。

     uncaughtException:當(dāng)前進(jìn)程拋出一個(gè)沒有被捕捉的意外時(shí),會(huì)觸發(fā)uncaughtException事件

     message: 接受來自父進(jìn)程的消息

     rejectionHandled:用于捕獲與它關(guān)聯(lián)的promise錯(cuò)誤處理并且產(chǎn)生的reject

     unhandledRejection: 同理這個(gè)便是用于捕獲沒有與之關(guān)聯(lián)promise錯(cuò)誤處理的reject

const unhandledRejections = new Map(); process.on('unhandledRejection', (reason, p) => {  unhandledRejections.set(p, reason);});process.on('rejectionHandled', (p) => {  unhandledRejections.delete(p);});

warning: 當(dāng)前進(jìn)程產(chǎn)生一個(gè)警告的時(shí)候出發(fā)

process.on('warning', (warning) => {  console.warn(warning.name); // Print the warning name console.warn(warning.message); // Print the warning message console.warn(warning.stack); // Print the stack trace});

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临颍县| 行唐县| 雅安市| 赤城县| 从江县| 自贡市| 镇雄县| 九龙坡区| 铁力市| 涿州市| 庄浪县| 泗水县| 寿宁县| 育儿| 农安县| 固阳县| 桃园县| 边坝县| 伊川县| 凤城市| 西畴县| 绥芬河市| 和政县| 巴彦县| 察雅县| 田东县| 玉门市| 宁远县| 蕉岭县| 黔西县| 松潘县| 青川县| 济源市| 九江市| 淄博市| 北京市| 苏尼特左旗| 南岸区| 齐河县| 普宁市| 黄冈市|