模塊化:
1、系統模塊: http、querystring、url
2、自定義模塊
3、包管理器
【系統模塊】
Assert 斷言:肯定確定會出現的情況使用斷言
stabiltry: locked 穩定性,鎖定,再也不會改了
C/C++ ADDons c的擴展:關鍵性的函數可以用c來寫,提高穩定性
child Processes 子進程
Cluster 集群
Command Line Opation 命令行操作
Crypto 加密 例如MD5、sha 重要
Debugger
DNS 域名解析 dns.getServers();
Domain 域名 穩定性為0,已經廢棄
Error 異常
Events 事件,用來模擬事件的模塊 重要
FS 文件讀取
HTTP、HTTPS 協議
Modules 實現模塊化的操作
Net 網絡,各種網絡操作 重要
OS 操作系統 EOL換行。。cpus。。。 重要 穩定性2
Path 處理文件路徑
Process 進程信息
Punycode 廢棄
Querysting
Readline 讀取一行文件
REPL node命令行
Stream 流操作 非常重要 讀取文件=》返回文件
readFile 全部讀取完再發送
stream 分段讀取分段發送
String Decoder 字符串的編碼解碼
Timers 定時器
TLS/SSL 加密,
TTY 鏈接遠端的命令行
UDP 數據報協議
Util 工具類
V8 引擎相關的信息
VM 虛擬機
ZLIB 壓縮 gZip等 壓縮完再存儲,壓縮完再發送,是一種流操作
【自定義模塊】
模塊化最基本的組成部分 CMD
1、require 請求: 引入模塊
1.引入自定義模塊 const mod = require('./module.js');
2.引入系統模塊 const http = require('http');
3.規則:引入自定義模塊需要加./,引入系統模塊無需加(如果不想添加'./',需要把文件放入node_module文件夾)
4.優先規則:系統模塊高於自定義模塊
2、module 模塊: 批量輸出
module.exports = { };
3、exports 輸出: 單個輸出
exports.a = 12;
nodejs中沒有全局變量,輸出必須掛載到exports上
實現原理:和seajs、requirejs定義模塊的相似
(function (require, exports, module) { var a = 12; export.a = 12; })();
【npm】 Nodejs Package Manager (nodejs包管理工具) www.nomjs.com
1.統一下載途徑
2.自動下載依賴
3.可以提交模塊
查詢npm指令 npm
npm install 包名 下載模塊
npm uninstall 包名 刪除模塊
adduser
login
【提交npm模塊】
1.注冊登錄npm
npm login 輸入賬號密碼
2.npm whoami 顯示當前登錄用戶
3.npm init 創建一個包信息文件package.json
text command 測試環境命令
git repository git 地址
keywords 關鍵詞
license 協議 ISC
4.書寫入口文件及其模塊文件
exports.XXXX
5.發布 npm publish
6.升級版本 package.json文件中更新版本號信息 修改需要更新的包 運行命令 npm update 包名
7.刪除包 每次只能刪除一個版本, npm unpublish --force