一.包(package):包含了至少一个模块的文件夹
1.node package manager(NPM)包管理器
第一次使用从npm上下载使用包的步骤
1)创建一个目录名(目录名不要和常见的关键词重复,不能是汉字),然后进入改目录的命令行下
2)初始化命令,生成一个安装包的配置文件,必须要有pageage.json才能从npm网站上下载包
npm init 用来生成pageage.json文件,一直点确定即可
3)执行npm的安装命令
npm i (或者npm install)表示安装包,
eg:npm i chinese-finance-number;用处:(将数字转换成财务用的中文大写数字)
安装完成后,项目的目录下面会多出pageage-lock.json和node_module文件夹
下载的包统一放在了node_module文件夹下
4)使用包,根据包作者的教程即可
2.设置淘宝下载镜像网站
由于npm网站的服务器在国外,所以我们下载使用会很慢,有时候甚至卡死,所有淘宝官方克隆了一个一模一样的npm的网站放在国内,我们只需要把下载地址更改一下即可
安装:npm config set registry https://registry.npm.taobao.org
验证:npm config get registry
如上图所示,即可把地址更改成功
二.npm的加载机制
定义:node的内置模块和npm上的第三方模块加载时不需要写路径,node会自动根据module.paths去查找node_modules目录
我们打印module.paths这个常量:
其它的家在机制有:
1.可以不写扩展名,node会按照js、json、node的顺序来分析
2.如果没有找到对应的文件,找到一个目录,那么会讲器当做一个包来处理
3.首先找是否按有package.json,如果有,则分析它的main属性,找到main属性对应的那个文件
4.如果没有package.json或者main解析失败,呢么就找文件名为index的文件
三.package.json文件和package-lock.json文件
package.json是npm一个创造性的发明,通过 package.json里面的dependencies清单,可以知道项目需要依靠哪些包才可以运行。
实际发布项目时,可以将node_modules目录删除,恢复项目时,至于要执行npm i命令,会自动根据 package.json的dependencies将所依赖的包下载下来。
package-lock.json早期由于包的作者更新了包的版本后,会导致新的版本与项目中老的语法有兼容性的错误。npm为了解决这个问题增加了这个 package-lock.json的备份配置文件,当出现兼容性问题的时候,可以根据备份清单去下载老的版本。
四.常用的npm的命令
安装包:npm i 包名 或 npm install 包名
卸载包:npm uninstall 包名
清除缓存:npm cache clean --force 用处:当反复安装失败的时候,调用该命令再重新安装
安装到依赖(项目运行时需要的模快):
npm i 包名 --save (--save为默认选项,意思为添加到package.json 的dependencies 里面 )
安装到开发依赖(只是开发过程中需要的模块):
npm i 包名 --save-dev (--save-dev ,意思为添加到package.json 中的 devDependencies 里面 )
开发依赖指项目的开发过程中需要使用的包,像less编译为css语法检查模块