nodejs學習總結

2021-10-06 16:05:14 字數 4849 閱讀 1387

1.yarn全域性安裝依賴(可以直接在命令列使用)

yarn global add 依賴名//將會安裝到全域性路徑
2.yarn本地安裝依賴

yarn add 依賴名//會在node_modules資料夾下加入依賴
3.yarn初始化乙個專案,生成package.json

yarn init
4.yarn安裝專案全部依賴

yarn或yarn install
5.yarn 安裝包依賴時候的 `devdependencies` 和 `dependencies` 的區別是什麼

devdependencies -- 開發環境可以用到的依賴

dependencies -- 開發環境和生產環境都可以用到的依賴

6.nvm檢視所有可用的nodejs版本

nvm list
7.nvm安裝指定版本的nodejs

nvm install 11.13.0
8.nvm切換當前使用的nodejs版本

nvm use 11.13.0
9.nvm解除安裝nodejs版本

nvm uninstall 11.13.0
10.事件的觸發與繫結

// 引入 events 模組

var events = require('events');

// 建立 eventemitter 物件

var eventemitter = new events.eventemitter();

// 建立事件處理程式

var connecthandler = function connected()

// 繫結 connection 事件處理程式

eventemitter.on('connection', connecthandler);

// 繫結 connection 事件,處理函式為 connecthandler

'connection', connecthandler);

// 移除監繫結的 connecthandler函式

eventemitter.removelistener('connection', connecthandler);

// 使用匿名函式繫結 data_received 事件

eventemitter.on('data_received', function());

// 觸發 connection 事件

eventemitter.emit('connection');

console.log("程式執行完畢。");

11.觸發帶有引數的事件

檔案

var events = require('events');

var emitter = new events.eventemitter();

emitter.on('someevent', function(arg1, arg2) );

emitter.on('someevent', function(arg1, arg2) );

emitter.emit('someevent', 'arg1 引數', 'arg2 引數');

12.buffer緩衝區的使用

const buf = buffer.from('runoob');//返回乙個被 string 的值初始化的新的 buffer 例項

const buf1 = buffer.alloc(10);// 建立乙個長度為 10、且用 0 填充的 buffer。

const buf3 = buffer.allocunsafe(10);// 建立乙個長度為 10、且用 0 填充的 buffer。

len = buf.write("www.runoob.com");//寫入緩衝區

buf.tostring('ascii')//轉換為指定編碼的字串

//將 buffer 轉換為 json 物件

const buf = buffer.from([0x1, 0x2, 0x3, 0x4, 0x5]);

const json = json.stringify(buf);

// 輸出:

console.log(json);

const copy = json.parse(json, (key, value) => );

var buffer3 = buffer.concat([buffer1,buffer2]);//緩衝區合併

var result = buffer1.compare(buffer2);//緩衝區比較

buf2.copy(buf1, 2);//將 buf2 插入到 buf1 指定位置上

var buffer2 = buffer1.slice(0,2);// 剪下緩衝區

buffer.length//緩衝區長度

13.fs模組的使用

所有的 stream 物件都是 eventemitter 的例項。常用的事件有:

data - 當有資料可讀時觸發。

end - 沒有更多的資料可讀時觸發。

error - 在接收和寫入過程中發生錯誤時觸發。

finish - 所有資料已被寫入到底層系統時觸發。

var readerstream = fs.createreadstream('input.txt');// 建立可讀流

readerstream.on('data', function(chunk) );

var writerstream = fs.createwritestream('output.txt');// 建立乙個可以寫入的流,寫入到檔案 output.txt 中

writerstream.write(data,'utf8');// 使用 utf8 編碼寫入資料

writerstream.end();// 標記檔案末尾

writerstream.on('finish', function() );

readerstream.pipe(writerstream);// 管道讀寫操作,讀取 input.txt 檔案內容,並將內容寫入到 output.txt 檔案中

14.os模組的使用

console.log('type : ' + os.type());// 作業系統名

console.log('total memory : ' + os.totalmem() + " bytes.");// 系統記憶體總量

console.log('free memory : ' + os.freemem() + " bytes.");// 作業系統空閒記憶體量

15.path模組的使用

// 格式化路徑

console.log('normalization : ' + path.normalize('/test/test1//2slashes/1slash/tab/..'));

// 連線路徑

console.log('joint path : ' + path.join('/test', 'test1', '2slashes/1slash', 'tab', '..'));

// 轉換為絕對路徑

console.log('resolve : ' + path.resolve('main.js'));

// 路徑中檔案的字尾名

console.log('ext name : ' + path.extname('main.js'));

16.net模組的使用

var net = require('net');

var server = net.createserver(function(connection) );

connection.write('hello world!\r\n');

connection.pipe(connection);

});server.listen(8080, function() );

var net = require('net');

var client = net.connect(, function() );

client.on('data', function(data) );

client.on('end', function() );

17.domain模組的使用

// 建立域

var domain1 = domain.create();

domain1.on('error', function(err));

// 顯式繫結

domain1.add(emitter1);

emitter1.emit('error',new error('通過***來處理'));

domain1.remove(emitter1);

18.util模組的使用

function base() ; 

} base.prototype.showname = function() ;

function sub()

util.inherits(sub, base); //繼承物件,只能繼承prototype屬性

util.inspect(obj)//物件轉字串

util.isarray()//判斷是否為陣列

util.isdate(new date())//判斷是否為日期

NodeJS基礎學習總結

一 nodejs解釋 js是指令碼語言,指令碼語言都需要乙個解析器才能執行。對於寫在html頁面裡的js,瀏覽器充當了解析器的角色。而對於需要獨立執行的js,nodejs就是乙個解析器。每一種解析器都是乙個執行環境,不但允許js定義各種資料結構,進行各種計算,還允許js使用執行環境提供的內建物件和方...

Nodejs學習總結 Express入門(一)

express是基於node.js平台開發的web應用開發框架,下面我們入手學習。官網 github express生成器 1 生成express全域性指令 npm install express generator g 注 生成 express h可以檢視所有命令列選項 如上圖就是乙個expres...

nodejs操作redis總結

本文總結常見的使用node操作redis服務,redis的key是唯一的,如果乙個key所對應的儲存型別是string,則不能再次覆蓋式設定key為hash 這裡我們使用docker方式搭建redis伺服器 docker run d name redis p 6379 6379 redis 2.8 ...