1.Nodejs的安裝及使用 / require引入模塊 / module.exports導出模塊 / npm包管理器 / fs模塊 / buffer緩沖區 / stream流 / NVM版本

Node.js?

????????誕生于2009年,Node.js采用C++語言編寫而成,是?一個Javascript的運行環境。Node.js?是一個基于?Chrome?V8?

????????引擎的?JavaScript?運行環境?,讓JavaScript的運行脫離瀏覽器端,可以使用JavaScript語言?書寫服務器端代碼。


安裝Node.js

????????[Node.js官網](????https://nodejs.org????)下載穩定版本,node偶數版本為穩定版本,奇數版本為非穩定版本。

????????????????-?mac?直接安裝??或者?brew來安裝

????????????????-?安裝完Node.js會自動安裝NPM(Node?Package?Manager):包管理工具;

????????????????-?Win + R , 輸入cmd ,打開dos命令行,輸入?node -v?查看NodeJS版本號;


使用淘寶的鏡像網址

????????npm config set registry http://registry.npm.taobao.org


安裝cnpm

????????npm install -g cnpm


安裝yarn

? ? ? ? npm install -g yarn

? ? ? ? 跟npm類似,更強大些,支持斷點續傳,區別不大


安裝nodemon? 可自動終止并重啟服務器,自動刷新文件

????????npm i nodemon -g

????????????????終止服務 ctrl+C按兩下


安裝cookie模塊在運行依賴

? ? ? ? npm i cookie -s


在項目文件夾創建package.json文件

????????npm?init -y

????????創建一個package.json文件


package.json功能性

? ? ????"scripts"標簽可以自定義簡寫,運行命令npm run mytest,結果執行someting...?

? ? ? ? echo輸出


npm root 功能

????????npm root -g

????????顯示 npm 包儲存位置的根目錄(其實就是 node_modules 的所在位置)


common.js規范

????????-?自定義模塊

????????????????-?導入:require;(“./”問題)

? ? ? ? ? ? ? ? -?導出:module.exports或者exports;

????????????????-?node_modules里package.json配置;

????????????????-?node_modules查找規則(向上查找)

????????-?內置模塊

????????-?內置模塊不需要安裝,外置模塊需要安裝;


npm網站可下載模塊和文檔

????????npmjs.com


require引入模塊

????????require("./aModule")? ? ? ? ? ? ?//注意一定要有"./",文件后綴可加可不加。

module.exports?導出? ? ? ?自定義模塊的按需導出

????????通過module.exports?導出;?\_\__dirname??,?\_\_filename


npm包管理器? ? ??https://www.npmjs.com

? ??????dependencies:運行依賴? ??jquery、vue、react? ? ? 上線后依然需要??

? ??????devDependencies:開發依賴? ??sass?less? ? 開發時方便,打包編譯之后就無用了

npm常用指令

-?npm?i?????--save-dev(-D)?--save(?-S?);??package.json

????????-??-g??

????????-?npm??root??、npm?root?-g


????????-?npm?init:引導創建一個package.json文件

????????-?npm?help(npm?-h)?:查看npm幫助信息

????????-?npm?version?(npm?-v)?:?查看npm版本;

????????-?npm?search:查找

????????-?npm?install?(npm?i):安裝??默認在當前目錄,如果沒有node_modules?會創建文件夾;

????????-?npm?install?module_name?-S?或者--save????即????npm?install?module_name?--save????寫入dependencies

????????-?npm?install?module_name?-D??或者?—save-dev???即????npm?install?module_name?--save-dev?寫入devDependencies

????????-?npm?install?module_name?-g?全局安裝(命令行使用)

????????-?指定版本安裝模塊???npm?i?module_name?@1.0?通過??"@"符號指定;

????????-?npm?update(npm?-up):更新

????????-?npm?remove?或者??npm?uninstall:刪除

????????-?npm?root??查看當前包安裝的路徑??或者通過??npm?root?-g?來查看全局安裝路徑;


注冊與發布

????????-?注冊賬號:[https://www.npmjs.com/](https://www.npmjs.com/)???(郵箱驗證)

????????-?npm??adduser?輸入剛剛注冊好的用戶名和密碼??;

????????????????如果注冊地址不對需要重新改回來:?

????????``npm?config?set?registry?https://registry.npmjs.org/?``??(官方地址)

????????`https://registry.npm.taobao.org/`??????(淘寶源地址)

????????????????查詢源地址

????????`npm?config?list`


cnpm的安裝及使用;

yarn包管理工具

????????npm?install?-g?yarn


fs文件操作模塊

????????所有文件操作都是有同步和異步之分,特點是同步會加上?"Sync"?如:異步讀取文件??"readFile",同步讀取

????????文件?"readFileSync";

????????所有文件操作?沒有加Sync都是異步?否則是同步;

????????????????let?fs?=?require("fs");

? ? ????不加"utf-8",需要toString轉換

文件操作

目錄操作


buffer緩沖區? 二進制的類

????????內部傳遞文件快速高效,不需轉碼


stream流:流與數據處理方面密不可分

????????流數據的獲取

????????????????-?pipe 管道? ? ? ? ?讀取1.txt寫入到2.txt

????????????????-?data

????????????????-?end


使用NVM(Node?Version?Manager)控制Node.js版本

????????-?nvm是mac環境下管理nodejs的工具。在windows環境下推薦使用nvmw或者nvm-windows;

????????-?Nvm-windows??下載地址?https://github.com/coreybutler/nvm-windows???下載?nvm-setup.zip

安裝NVM

????????-?在安裝nvm之前需要一個c++編譯器,在mac上可以安裝Xcode命令工具(已經安裝可以忽略)

????????????????`xcode-select?--install`

使用?curl安裝

????????`curl?-o-?https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh?|?bash`

或者使用wget來安裝

????????`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?//安裝最新穩定版nodejs``

????????``?nvm?install?8.11.1??//安裝指定版本``

????????``??nvm?install?8.11?????//安裝?8.11.x系列最新版本``

????????``?nvm?ls-remote??????//列出遠程服務器上所有可用的版本``

????????``?nvm?use?8.11.1????//切換到8.11.1版本``

????????``nvm?use?8.11??????//切換到8.11.x最新版本``

????????``??nvm?use?node???//切換到最新版本``

????????``??nvm?alias?default?node?//設置默認版本為最新版本``

????????``?nvm?ls???//列出所有已經安裝的版本``


Google?Chrome?默認非安全端口列表,盡量避免以下端口

????????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]

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • NPM NPM 是隨同 Node 一起安裝的包管理工具,能解決 Node 代碼部署上的很多問題,常見的使用場景有以...
    heyi_let閱讀 2,600評論 0 2
  • 一、Node快速體驗 1、 Node介紹 (1) Node.js是什么 Node 是一個基于Chrome V8 ...
    寵辱不驚丶歲月靜好閱讀 3,346評論 0 6
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,264評論 2 36
  • JavaScript 模塊化編程 網站越來越復雜,js代碼、js文件也越來越多,會遇到什么問題? 命名沖突; 文件...
    magic_pill閱讀 1,465評論 0 1
  • npm是什么 NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發工具...
    build1024閱讀 7,945評論 0 9