nodejs学习笔记四(模块化、在npm上发布自己的模块)

时间:2023-02-03 07:21:08
模块化:
     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 = ;
export.a = ;
})();
【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