node中的模块分为三种
内置模块主要有
这些模块内封装了一些属性和函数,用到的时候可以查一下
node基础教程
JS的模块在导入时会执行模块内的代码
自定义模块必须以./ 或者 …/开头
自定义模块如果省略的文件的扩展名,则会按照下面的顺序来查找
会先在文件所在的目录查找
如果找不到就去上一级目录中查找
直到找到或者查找到磁盘的根目录依然找不到报错
查找这个目录下的package.json中记录的入口
如果main记录的入口不存在则会记载index.js
如果依然失败则报错
在node中会默认使用模块化
模块作用域的变量和函数只能在当前模块中使用
module中有一个exports属性,这个属性中的内容会被暴露出去,require导入的就是exports暴露的内容
为了方便导出,node也提供了exports对象,默认和module的exports属性指向相同。
但如果直接给exports属性赋值,则会修改exports对象的指向,导致对象失效,无法正常导出。
npm 是node的一个包管理工具,内置了许多指令来管理包。
- npm i <包名> 可以安装包,在安装时可以使用@来指定版本
- npm -v 查看npm的版本
- npm init -y 用来初始化项目,创建package.json
- npm i 可以安装package.json中的所有依赖包
- npm uninstall 可以卸载掉已经安装的包
下载的包存放咋node_modules文件夹下
package_lock.json 记录了安装的包的信息,不要修改这个文件的信息。
nrm是npm的一个小工具,可以安装nrm开获取更多指令
npm i nrm -g
这个工具可以获得快速查看和切换下包的源
- 查看所有的源:nrm ls
- 切换为淘宝镜像:nrm use taobao
一般项目中都会有一个package.json的文件,用来记录项目中需要用到哪些包。
包必须以单独的目录存在
包的根目录必须包含package.json文件
package.json中必须包含name , version, main 字段
-D会被视为开发时依赖,被记录在package.json的Devdependencies属性下dependencies属性下