Nodejs———需要的基本環境(服務自啟動(nodemon)、npm、nvm、nrm)
一、nodejs基本介紹
nodejs是一個基於 Chrome V8 引擎的 JavaScript 執行環境,nodejs的API包括全域性、內建模組、第三方模組等三部分。其中我們常見的用npm安裝釋出的依賴就是第三方模組,當然你也可以自己開發一個第三方模組。nodejs的核心包括內建的V8引擎和libuv開發包,V8引擎我們都熟悉瀏覽器上的引擎,執行js程式碼,libuv開發包主要內建了非同步IO、事件驅動等核心模組。還有一個就是node底層,任何一個程式需要在系統中執行,都需要有一個相容系統的底層程式碼,比如呼叫底層環境(windows,mac,linux)
二、用nodejs搭建一個服務
我們都知道,前端靜態頁面請求一個資料,都會用ajax傳送一個請求給web server,我們就用nodejs搭建一個簡單的webserver,我們新建一個資料夾,然後執行npm init 建立package.json檔案,在建立一個demo.js檔案,這樣我們就可以引入http模組,並且開啟該http服務,啟動方式有兩種如下,還有如何解決亂碼問題。
const os = require('os')
// 獲取cpus
const cpus = os.cpus()
console.log(cpus.length)
// 獲取記憶體
const total = os.totalmem()
console.log(total/1024/1024/1024) // GB
// 剩餘記憶體
console.log(os.freemem()/1024/1024/1024)
// ajax-->api-->web server(node js實現)
// 啟動方式1.在命令列中執行:node demo.js
// 啟動方式2.在package.json檔案中配置啟動方式:"start":"node demo.js",每次啟動就可以在命令列中執行npm start 啟動服務了
// 解決亂碼問題,設定響應頭,告訴瀏覽器用utf-8編碼
const http = require('http')
const server = http.createServer((req, res) =>{
res.setHeader('Content-Type', 'text/plain;charset=utf-8')
res.end('Hello,你好世界')
})
server.listen(3000, '127.0.0.1', () => {
console.log('web服務啟動成功')
})
package.json檔案:
{
"name": "app3",
"version": "1.0.0",
"description": "",
"main": "demo.js",
"scripts": {
"start": "nodemon demo.js",
"start:node": "node demo.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"nodemon": "^2.0.6"
}
}
三、使用nodemon服務自動重啟
nodemon的作用:每次我們修改程式碼,可能都需要重啟服務才能重新整理,這樣做太麻煩了,nodemon就幫我們每次修改程式碼後自動重啟,具體使用如下:
因為nodemon預設是我們修改了任何檔案都會自動重啟,甚至修改package.json都會重啟,這樣太影響效率,我們可以配置nodemon.json 指定修改後重啟的服務
nodemon.json:(重啟後生效)
四、使用nrm 管理npm源
安裝:npm install nrm -g
使用nrm ls 檢視nrm內建的源
使用nrm -h 檢視nrm命令
如何使用:我們先用nrm current 檢視當前使用的源,是npm,然後切換使用cnpm:nrm use cnpm ,在使用nrm current檢視,發現變成了cnpm
五、使用nvm管理nodejs版本
為什麼要使用:因為nodejs版本過多,每個專案可能用的node版本不一樣,使用nvm就可以解決切換版本的煩惱。
安裝:檢視nvm官網安裝方法
檢視命令:nvm -h
檢視node當前幾個版本:nvm ls
切換nodejs版本:nvm use v10.14.0,然後檢視node版本,node -v,會發現就切換了當前版本
相關文章
- Centos下Nodejs+npm環境-部署記錄CentOSNodeJSNPM
- 老呂教程--02後端KOA2框架自動重啟編譯服務(nodemon)後端框架編譯
- nodemon+cross-env+config實現支援熱更新的能根據不同環境載入不同配置的nodejs環境ROSNodeJS
- Linux系統上使用nvm管理nodejs和npm版本操作LinuxNodeJSNPM
- mac配置自動化環境所需要的軟體Mac
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- 兩款node輔助工具---nrm和nvm
- 用nvm管理你的Node環境
- 最佳實踐教程:nvm安裝詳細教程(安裝nvm、node、npm、cnpm、yarn及環境變數配置)NPMYarn變數
- Ubuntu Server 24.04 自啟動服務UbuntuServer
- nodejs開發輔助工具nodemonNodeJS
- 在Linux中,如何管理服務的自啟動?Linux
- 今日學習筆記:hash 以及 nodejs基本服務筆記NodeJS
- [nodejs] nodejs版本管理工具:nvmNodeJS
- [Windows環境]nvm工具的介紹和安裝Windows
- vscode 除錯node之npm與nodemonVSCode除錯NPM
- win10開啟自動更新服務設定方法 window10如何開啟自動更新服務Win10
- Windows環境啟動RocketMQWindowsMQ
- 3.1.3 關於資料庫服務自動啟動資料庫
- nvm和npm的安裝與使用NPM
- mac環境配置本地nfs服務MacNFS
- vue開發環境安裝(nvm管理node)Vue開發環境
- Delphi Debug時自動結束已開啟的服務
- 服務自啟指令碼指令碼
- 理解event loop(瀏覽器環境與nodejs環境)OOP瀏覽器NodeJS
- 自動設定autotrace環境
- Linux MySQL 服務設定開機自啟動LinuxMySql
- Linux Redis 服務設定開機自啟動LinuxRedis
- 分享一個Python寫的windows環境系統服務來自動化管理防火牆規則PythonWindows防火牆
- 生產環境部署springcloud微服務啟動慢的問題排查SpringGCCloud微服務
- NPM 與 NodejsNPMNodeJS
- 在nodejs環境裡使用瀏覽器環境下的document物件NodeJS瀏覽器物件
- [nodejs] NodeJs/NPM入門教程NodeJSNPM
- 自適應服務端渲染(服務端根據客戶端環境自適應地響應首屏)服務端客戶端
- NodeJS安裝與環境搭建NodeJS
- 基於nvm的Node、NPM的版本管理(NPM permission error的解決)NPMError
- dubbo服務啟動的方式
- 控制linux啟動的服務Linux