node基礎知識總結

在這裏插入圖片描述

node簡介

1、Node.js是一個能夠在服務器端運行JavaScript的開放源代碼、跨平臺JavaScript運行環境;
2、Node採用Google開發的V8引擎運行js代碼,使用事件驅動,、非阻塞和異步I/O模型等技術來提高性能,可優化應用程序的傳輸量和規模;
3、Node大部分基本模塊都是用JavaScript編寫的,在Node出現之前,js通常作爲客戶端程序設計語言使用,以js寫出的程序常在瀏覽器運行;
4引入其他模塊

在node中通過require()函數來引入外部的模塊,require()可以傳遞一個文件的路徑作爲參數,node將會自動根據該路徑引入外來模塊,這裏的路徑,如果使用相對路徑必須以.或…開頭,

在node中每一個js’文件的js代碼都是獨立運行在一個函數中,而不是全局作用域,所以一個模塊中的變量和函數在其他模塊中無法訪問,我們需要將需要暴露給外部的變量或方法設置爲exports的屬性即可; 每一個模塊都類似於一個函數;

var x='123';
var y='adc';
exports.x=x;//導出模塊指定數據

var c=require("./000.js") ;//接收模塊導出的數據
console.log(c);

5模塊標識;

路徑就是一個模塊標識可以通過路徑來找到指定模塊;

核心模塊由node提供.核心模塊的標識就是模塊的名字;

文件模塊由用戶創建,路徑就是標識 有相對路徑好絕對經路徑;

6在node中有一個全局對象global,他的作用類似於window,

在全局中創建的變量都會最爲global的屬性保存

在全局中創建的函數都會作爲global的方法保存

7測試:證明一個文件就是一個函數;

可以使用console.log(arguments)//返回實參

還可以使用console,log(arguments.callee);//正在執行的函數;如果拼接一個字符串,就可以打印出整個函數體console,log(arguments.callee +" ");

function (exports, require, module, __filename, __dirname) {

}
一個函數在執行時同時傳遞了5個實參
exports將函數變量導出,暴露給外部
require引入外部模塊
 module就是模塊本身,exports就是他的屬性,module.exports也可以導出數據
 __filename  當前模塊的完整路徑包含自己
 __dirname  文件夾目錄  ,不包含自己
8、 module.exports和exports的區別:

exports只能通過.的方式來向外部暴露內部變量

module.exports既可以通過.的形式,也可以直接賦值,

module.exports.xxxx=xxxx;

module.exports={};

9、包

包實際上就是一個壓縮文件解壓以後還原爲目錄,符合規範的目錄應該包含如下文件;

package.json 描述文件(必須有)文件中不可以寫註釋

bin 可執行的二進制文件(可有可無)

lib js代碼(可有可無)

doc 文檔(可有可無)

text 單元測試(可有可無)

9npm命令

npm -v查看npm版本

npm version 查看所有模塊版本

npm search 包名 搜索包

npm install 包名 或者npm i 包名 安裝包

npm remove包名 刪除包

npm r包名 刪除包

npm install 包名 --save安裝包,並添加到依賴中

npm install 下載當前項目所依賴的包

10緩衝區 buffer

Buffer.from(str)將一個字符串轉換爲buffer

Buffer.alloc(size)創建一個指定大小的buffer

Buffer.alloUnsafe(size)創建一個指定大小的Buffer,可能包含敏感數據

實際上buffer中的內存不是通過javascript分配的,而是在底層通過c++申請的,我們直接通過buffer來創建內存中的空間

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章