node.js

node js是js的一個運行環(huán)境, 實際上是對goole的V8引擎進(jìn)行了封裝。

v8引擎對js的執(zhí)行速度非??臁⑿阅芊浅:?。

node js對一些特殊用例進(jìn)行了優(yōu)化 提供了替代的api,使得V8引擎在非瀏覽器環(huán)境下運行的更好。

node js是一個基于chrome js運行時建立的平臺,用于方便的搭建響應(yīng)速度快,易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。node js使用事件驅(qū)動、

非阻塞的io模型而得以輕量和高效、非常適合在分布式設(shè)備上運行數(shù)據(jù)密集型的實施應(yīng)用。

node js的優(yōu)點

1、單線程

2、非堵塞的I/o

3、V8虛擬機(jī)

4、事件驅(qū)動

hello word的輸出

1、REPL(測試)

2、寫成獨立的js文件 首先進(jìn)入到該目錄 執(zhí)行 node ***.js

nodejs的程序編寫 遵循common.js的規(guī)范

Common.js定義的模塊分為:模塊引用(require)模塊定義

(exports) 模塊標(biāo)識(module)

var module=require("./模塊名");

模塊名的.js可以省略

module 引入模塊的對象 可以調(diào)用在exports中被拋出(exports)中的方法

自定義模塊在引入是一定要加上路徑(./ ../等)路徑可以

是相對路徑(推薦) 也可以是絕對路徑

也就是說在定義模塊時不exports的方法 再引入該模塊時是沒有辦法被調(diào)用的

三:編寫稍大一點的程序時一般都會將代碼模塊化。

在NodeJS中,一般將代碼合理拆分到不同的JS文件中,每一個文件就是一個模塊,而文件路徑就是模塊名。

在node js中一共有三種模塊

1、核心模塊(內(nèi)置模塊) http(creaeSevver) fs url querystring

2、第三方模塊 系統(tǒng)沒有提供,但是又需要實現(xiàn)功能 下載別人寫的模塊

3、自定義模塊 自己寫

搭建web服務(wù)器 用的模塊 http

本機(jī) ip 127.0.0.1

127.0.0.1:8888

路徑的解析規(guī)則

1.核心模塊(內(nèi)置模塊)不需要寫路徑 直接加載

2.普通模塊如果不寫路徑 規(guī)則 1.通過node_modules 現(xiàn)在本目錄找 如果目錄沒有 依次找上一級

2.通過配置環(huán)境變量? NODE_PATH? 如果沒有直接到該目錄找

json是一種輕量級的數(shù)據(jù)交換格式 有兩種基本結(jié)構(gòu):1.數(shù)組和 對象

[{},{},{}] {"key":[],"key":[],"key":[]}

1、什么是包?

package

由多個子模塊組成的大模塊稱為包。

每個包都有一個入口模塊如果入口模塊是index.js那么引入包的時候可以直接寫包名 省略入口模塊名

如果入口模塊不叫index.js,而且每個子模塊都放在目錄libs中需要在包中新建package.json

{"name":","main":"}

name:包名 main:路徑名

package.json的作用::自定義入口模塊和存放位置,

2、什么是npm? npm的作用

NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,

可以下載第三方 和 將自己編寫的第三包上傳

下載(需要進(jìn)入當(dāng)前的目錄) npm install 包名

如果下載指定版本的第三方包 需要npm install 包名@版本號

npm help 查看npm所有命令

發(fā)布 npm publish 包名

使用npm help可查看某條命令的詳情幫助,例如npm help inatall.使用npm Update 包名 可以把當(dāng)前目錄下node_modules 子目錄里邊的對應(yīng)模塊更新最新版本全局安裝 npm install 包名 -g更新全局安裝 npm update 包名 -g使用npm Unpublish@可以撤銷發(fā)布自己發(fā)布過的某個代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容