Node.js?
????????誕生于2009年说榆,Node.js采用C++語(yǔ)言編寫(xiě)而成肥缔,是?一個(gè)Javascript的運(yùn)行環(huán)境。Node.js?是一個(gè)基于?Chrome?V8?
????????引擎的?JavaScript?運(yùn)行環(huán)境?,讓JavaScript的運(yùn)行脫離瀏覽器端废亭,可以使用JavaScript語(yǔ)言?書(shū)寫(xiě)服務(wù)器端代碼。
安裝Node.js
????????[Node.js官網(wǎng)](????https://nodejs.org????)下載穩(wěn)定版本,node偶數(shù)版本為穩(wěn)定版本酿箭,奇數(shù)版本為非穩(wěn)定版本栏笆。
????????????????-?mac?直接安裝??或者?brew來(lái)安裝
????????????????-?安裝完Node.js會(huì)自動(dòng)安裝NPM(Node?Package?Manager):包管理工具;
????????????????-?Win + R , 輸入cmd 做入,打開(kāi)dos命令行冒晰,輸入?node -v?查看NodeJS版本號(hào);
使用淘寶的鏡像網(wǎng)址
????????npm config set registry http://registry.npm.taobao.org
安裝cnpm
????????npm install -g cnpm
安裝yarn
? ? ? ? npm install -g yarn
? ? ? ? 跟npm類(lèi)似竟块,更強(qiáng)大些壶运,支持?jǐn)帱c(diǎn)續(xù)傳,區(qū)別不大
安裝nodemon? 可自動(dòng)終止并重啟服務(wù)器浪秘,自動(dòng)刷新文件
????????npm i nodemon -g
????????????????終止服務(wù) ctrl+C按兩下
安裝cookie模塊在運(yùn)行依賴(lài)
? ? ? ? npm i cookie -s
在項(xiàng)目文件夾創(chuàng)建package.json文件
????????npm?init -y
????????創(chuàng)建一個(gè)package.json文件
package.json功能性
? ? ????"scripts"標(biāo)簽可以自定義簡(jiǎn)寫(xiě)蒋情,運(yùn)行命令npm run mytest,結(jié)果執(zhí)行someting...?
? ? ? ? echo輸出
npm root 功能
????????npm root -g
????????顯示 npm 包儲(chǔ)存位置的根目錄(其實(shí)就是 node_modules 的所在位置)
common.js規(guī)范
????????-?自定義模塊
????????????????-?導(dǎo)入:require耸携;(“./”問(wèn)題)
? ? ? ? ? ? ? ? -?導(dǎo)出:module.exports或者exports棵癣;
????????????????-?node_modules里package.json配置;
????????????????-?node_modules查找規(guī)則(向上查找)
????????-?內(nèi)置模塊
????????-?內(nèi)置模塊不需要安裝夺衍,外置模塊需要安裝狈谊;
npm網(wǎng)站可下載模塊和文檔
????????npmjs.com
require引入模塊
????????require("./aModule")? ? ? ? ? ? ?//注意一定要有"./",文件后綴可加可不加。
module.exports?導(dǎo)出? ? ? ?自定義模塊的按需導(dǎo)出
????????通過(guò)module.exports?導(dǎo)出河劝;?\_\__dirname??,?\_\_filename
npm包管理器? ? ??https://www.npmjs.com
? ??????dependencies:運(yùn)行依賴(lài)? ??jquery壁榕、vue、react? ? ? 上線后依然需要??
? ??????devDependencies:開(kāi)發(fā)依賴(lài)? ??sass?less? ? 開(kāi)發(fā)時(shí)方便丧裁,打包編譯之后就無(wú)用了
npm常用指令
-?npm?i?????--save-dev(-D)?--save(?-S?)护桦;??package.json
????????-??-g??
????????-?npm??root??、npm?root?-g
????????-?npm?init:引導(dǎo)創(chuàng)建一個(gè)package.json文件
????????-?npm?help(npm?-h)?:查看npm幫助信息
????????-?npm?version?(npm?-v)?:?查看npm版本煎娇;
????????-?npm?search:查找
????????-?npm?install?(npm?i):安裝??默認(rèn)在當(dāng)前目錄二庵,如果沒(méi)有node_modules?會(huì)創(chuàng)建文件夾;
????????-?npm?install?module_name?-S?或者--save????即????npm?install?module_name?--save????寫(xiě)入dependencies
????????-?npm?install?module_name?-D??或者?—save-dev???即????npm?install?module_name?--save-dev?寫(xiě)入devDependencies
????????-?npm?install?module_name?-g?全局安裝(命令行使用)
????????-?指定版本安裝模塊???npm?i?module_name?@1.0?通過(guò)??"@"符號(hào)指定缓呛;
????????-?npm?update(npm?-up):更新
????????-?npm?remove?或者??npm?uninstall:刪除
????????-?npm?root??查看當(dāng)前包安裝的路徑??或者通過(guò)??npm?root?-g?來(lái)查看全局安裝路徑催享;
注冊(cè)與發(fā)布
????????-?注冊(cè)賬號(hào):[https://www.npmjs.com/](https://www.npmjs.com/)???(郵箱驗(yàn)證)
????????-?npm??adduser?輸入剛剛注冊(cè)好的用戶(hù)名和密碼??;
????????????????如果注冊(cè)地址不對(duì)需要重新改回來(lái):?
????????``npm?config?set?registry?https://registry.npmjs.org/?``??(官方地址)
????????`https://registry.npm.taobao.org/`??????(淘寶源地址)
????????????????查詢(xún)?cè)吹刂?/p>
????????`npm?config?list`
cnpm的安裝及使用哟绊;
yarn包管理工具
????????npm?install?-g?yarn
fs文件操作模塊
????????所有文件操作都是有同步和異步之分因妙,特點(diǎn)是同步會(huì)加上?"Sync"?如:異步讀取文件??"readFile",同步讀取
????????文件?"readFileSync"票髓;
????????所有文件操作?沒(méi)有加Sync都是異步?否則是同步攀涵;
????????????????let?fs?=?require("fs");
? ? ????不加"utf-8",需要toString轉(zhuǎn)換
文件操作
目錄操作
buffer緩沖區(qū)? 二進(jìn)制的類(lèi)
????????內(nèi)部傳遞文件快速高效洽沟,不需轉(zhuǎn)碼
stream流:流與數(shù)據(jù)處理方面密不可分
????????流數(shù)據(jù)的獲取
????????????????-?pipe 管道? ? ? ? ?讀取1.txt寫(xiě)入到2.txt
????????????????-?data
????????????????-?end
使用NVM(Node?Version?Manager)控制Node.js版本
????????-?nvm是mac環(huán)境下管理nodejs的工具以故。在windows環(huán)境下推薦使用nvmw或者nvm-windows;
????????-?Nvm-windows??下載地址?https://github.com/coreybutler/nvm-windows???下載?nvm-setup.zip
安裝NVM
????????-?在安裝nvm之前需要一個(gè)c++編譯器裆操,在mac上可以安裝Xcode命令工具(已經(jīng)安裝可以忽略)
????????????????`xcode-select?--install`
使用?curl安裝
????????`curl?-o-?https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh?|?bash`
或者使用wget來(lái)安裝
????????`wget?-qO-?https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh?|?bash`?
NVM?[github的地址](<https://github.com/creationix/nvm>)可以查看最新版本
NVM常用指令
????????`?nvm?--version查看版本`??
????????``nvm?install?stable?//安裝最新穩(wěn)定版nodejs``
????????``?nvm?install?8.11.1??//安裝指定版本``
????????``??nvm?install?8.11?????//安裝?8.11.x系列最新版本``
????????``?nvm?ls-remote??????//列出遠(yuǎn)程服務(wù)器上所有可用的版本``
????????``?nvm?use?8.11.1????//切換到8.11.1版本``
????????``nvm?use?8.11??????//切換到8.11.x最新版本``
????????``??nvm?use?node???//切換到最新版本``
????????``??nvm?alias?default?node?//設(shè)置默認(rèn)版本為最新版本``
????????``?nvm?ls???//列出所有已經(jīng)安裝的版本``
Google?Chrome?默認(rèn)非安全端口列表怒详,盡量避免以下端口
????????1,????//?tcpmux
????????7,????//?echo
????????9,????//?discard
????????11,???//?systat
????????13,???//?daytime
????????15,???//?netstat
????????17,???//?qotd
????????19,???//?chargen
????????20,???//?ftp?data
????????21,???//?ftp?access
????????22,???//?ssh
????????23,???//?telnet
????????25,???//?smtp
????????37,???//?time
????????42,???//?name
????????43,???//?nicname
????????53,???//?domain
????????77,???//?priv-rjs
????????79,???//?finger
????????87,???//?ttylink
????????95,???//?supdup
????????101,??//?hostriame
????????102,??//?iso-tsap
????????103,??//?gppitnp
????????104,??//?acr-nema
????????109,??//?pop2
????????110,??//?pop3
????????111,??//?sunrpc
????????113,??//?auth
????????115,??//?sftp
????????117,??//?uucp-path
????????119,??//?nntp
????????123,??//?NTP
????????135,??//?loc-srv?/epmap
????????139,??//?netbios
????????143,??//?imap2
????????179,??//?BGP
????????389,??//?ldap
????????465,??//?smtp+ssl
????????512,??//?print?/?exec
????????513,??//?login
????????514,??//?shell
????????515,??//?printer
????????526,??//?tempo
????????530,??//?courier
????????531,??//?chat
????????532,??//?netnews
????????540,??//?uucp
????????556,??//?remotefs
????????563,??//?nntp+ssl
????????587,??//?stmp?
????????601,??//???
????????636,??//?ldap+ssl
????????993,??//?ldap+ssl
????????995,??//?pop3+ssl
????????2049,?//?nfs
????????3659,?//?apple-sasl?/?PasswordServer
????????4045,?//?lockd
????????6000,?//?X11
????????6665,?//?Alternate?IRC?[Apple?addition]
????????6666,?//?Alternate?IRC?[Apple?addition]
????????6667,?//?Standard?IRC?[Apple?addition]
????????6668,?//?Alternate?IRC?[Apple?addition]
????????6669,?//?Alternate?IRC?[Apple?addition]