node模块***(后端模块)
内置模块
fs,path,url,http…
自定义模块(node)
1:通过require导入自定义模块,得到的是module.exports所指向的对象
2:使用module.exports对象将模块内的成员共享出去,供外界使用
/*
module.exports单词写起来比较复杂,为了简化向外共享成员的代码,node提供了exports对象
exports和module.exports指向的是同一个对象
exports和module.exports指向不同的对象,以module.exports为准
*/
let a = 10
const fn = function () {
console.log(123)
}
console.log(exports === module.exports) //true
// exports.a = a
// exports = {
// a: a,
// }
// module.exports.fn = fn
exports.a = a
module.exports = {
fn: fn,
}
NodeJS中的模块化规范
Node.js遵循了CommonJS模块化规范,Commonjs规定了模块的特性和各模块之间如何相互依赖
CommonJS规定:
- 每个模块内容,module变量代表当前模块
- module变量是一个对象,它的exports属性(module.exports)是对外的接口
- 加载某个模块,其实就是加载模块的module.exports属性,require方法用于加载模块
第三方模块
Node中的第三方模块(别人写好的模块) 又叫做包
包的来源
不同于Node.JS的内置模块和自定义模块,包是由第三方个人和团队开发出来的,免费使用
为什么要使用包
NodeJS提供的api开发效率低
基于内置模块封装出来,提供了更高级,更方便的API,极大的提高了工作效率
下载包
国外的一家IT公司,叫做npm 这家公司的著名的网址https://www.npmjs.com/是全球最大的包共享平台
https://registry.npmjs.org/对外共享所有的包。我们可以从这个服务器下载自己所需要的包
https://www.npmjs.com/ 网站上搜索自己所需要的包
https://registry.npmjs.org/ 服务器上下载自己需要的包
如何下载
npm包管理工具
这个包管理工具随着node的安装一起被安装到了用户的电脑上
在终端输入 npm -v 查看自己电脑上安装的npm包管理工具的版本号
项目中如何下载包
npm install 包的完整名称
简写
npm i 包的完整名称
初次安装包完成,项目文件下多了一个叫做node_modules文件夹 和package-lock.json和package.json
node_modules 存放所有已安装到项目中的包 require导入第三方模块包,就是从node_modules目录中查找并加载包
package-lock.json 配置文件用来记录node_modules目录下每一个包的下载信息,包的名字,版本号,下载地址,不需要手动修改文件, npm包管理工具会自动维护它
包管理配置文件
npm规定,在项目目录中,必须提供一个叫做package.json的包管理配置文件,用来记录与项目有关的一些配置
- 项目名称,版本号,描述
- 项目中都用到了那些包
- 那些包只在开发期间调用
- 那些包在开发和部署时都需要用到
npm init -y
//该命令只能在英文的目录下成功运行
dependencies 专门用来记录你使用npm install 命令安装了那些包
一次性安装所有的包
npm i
或者
npm install
npm uninstall 包文件名 删除包s
yarn
http://yarnpkg.top/
全局安装yarn
npm i yarn -g
使用
新建依赖:yarn init
添加依赖:yarn ad 包文件名
删除依赖: yarn remove 包文件名
yarn
or
yarn install 根据package.json文件为项目安装所有依赖
安装指定版本的模块
yarn add 包名@3.0.1
npm i 包名@3.0.1
如何记录项目中安装了那些包
dependencies
package.json中有一个dependencies 节点,专门用来记录你使用npm install 命令安装了那些包
devdependencies
有些包只在项目开发阶段会使用,在项目上线之后不会用到,建议把这些包记录到devdependencies 中(less)
有些包在项目开发阶段和项目上线之后都会用到建议把这些包记录到dependencies
//记录到devdependencies节点中
npm i 包名 -D
完整写法
npm i 包名 --save-dev
包的分类
npm包管理工具下载的包,分为两大类:
-
项目包
哪些被安装到项目的node_modules目录中的包,都是项目包
- 开发依赖包(记录到devdependencies节点中的包,只在开发阶段会用到)
- 核心依赖包记录到dependencies节点中的包,在开发阶段和项目上线之后都会用到)
-
全局包
指向npm i 命令提供了 -g 参数,安装的就是全局包
全局包被安装在C:\Users\54004\AppData\Roaming\npm\node_modules只有工具性质的包,才有全局安装的必要性