Node
加载模块:
- 加载内置模块和第三方模块直接require(名字) 自定义模块需要加路径 require()加载模块时候会自
- 动调用被加载模块代码
- require永远以module.export所指向的对象为准
模块作用域:
和函数作用域类似,在自定义模块中定义的自变量只能在当前模块内访问
commonJS规定
- 每个模块内部,module变量代表当前模块
- module变量是一个对象,他的exports属性(即module.exports)是对外的接口
- 加载某个模块。其实是加载该模块的module.exports属性require(方法用于加载模块)
npm与包
Node.js中第三方模块又叫做包
注:Node.js中的包都是免费且开源的,不用付费即可免费下载试用包是基于内置模块封装出来的
初次安装包以后会多出 node_modules 的文件夹和 package-lock.json node_modules 里面是下载的包
package-lock.json对每个包的配置信息
安装具体版本 npm i 包名@版本号
包版本是按点分十进制定义的
- 第一位数:大版本
- 第二位数:功能版本
- 第三位数:bug修复版本
前面版本号增加 后面版本号要归零
包管理配置文件
//快速创建package.json
npm init -y
卸载包
npm uninstall 包名
devDependencies节点对象,只会在开发阶段用到,上线后不用到
dependencies 对象开发和上线都会用到
下载包慢
开发自己的包
初始化package.json
名称 版本 入口文件 包功能简短描述 关键词 开源许可协议
-
注册npm账号
-
在终端 npm login 命令 依次输入 用户名 密码 邮箱
-
进入根目录 npm publish 命令发布
删除发布的包 npm unpublish 包名–force
只能删除72小时以内发布的包
删除的包,在24小时内不能重复发布
模块加载机制
优先从缓存中加载