前言
雖然node對操作系統做了很多抽象的工作,但是你還是可以直接和他交互,比如和系統中已經存在的進程進行交互,創建工作子進程。 node是一個用於事件循環的線程,但是你可以在這個事件循環之外創建其他的進程(線程)參與工作。
如果不是和命令列工具打交道,可能我們很少有機會去用到process模組中的一些方法或者屬性。不過如果你要做類似webpack或gulp等較複雜的建置工具,由於bash介面就是和使用者直接交流的工具,因此友善的輸入輸出,完整的提示都非常必要了。
屬性
一張表格大概可以看到process有哪些屬性
我們可以直接在程式碼中這樣使用
console.log(porcess.platform) // darwin
我們可以直接在程式碼中使用
console.log(process.argv); // [ '/usr/local/bin/node', '/Users/ali-130257n/www/weex-jackzoo/projects/demo.js', '-p', '-v' ]
let args = process.argv.slice(2); console.log(args) // [ '-p', '-v' ]
const unhandledRejections = new Map(); process.on('unhandledRejection', (reason, p) => { unhandledRejections.set(p, reason); }); process.on('rejectionHandled', (p) => { unhandledRejections.delete(p); });有很多。大致上我們可以用到的有下面一些。 cwd:返回運行目前腳本的工作目錄的路徑
abort:立即結束進程
nextTick: 指定下一個事件
nextTickces 指定下一個事件的任務的提示或處理。
uncaughtException:當前進程拋出一個沒有被捕捉的意外時,會觸發uncaughtException事件 message: 接受來自父進程的訊息message: 接受來自父進程的訊息
unhandledRejection: 同理這個便是用來捕捉沒有與之關聯promise錯誤處理的reject
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 });
warning: 當前進程產生一個警告的時候
總結以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或工作能帶來一定的幫助,如果有疑問大家可以留言交流。 更多Node.js中process模組常用的屬性和方法相關文章請關注PHP中文網!