nodejs包管理工具
包管理工具:
package.json是一个项目的包管理工具(非常重要)
{
//项目名称
//不能有空格,汉字,并且不能与npmjs.org官网的包重名
"name":"nodejs",
//项目版本号
//v3.2.1
//3代表大版本 我们的代码,ui界面有颠覆性的改变
//2代表小版本 新增功能,修复bug
//1修复bug,缺陷,提升用户体验
“version”:“1.0.0”,
//项目描述,包含一些关键字,功能描述
"description":"my first nodejs project",
//入口文件
"main":"index.js",
//快捷启动命令
"scripts":{
"test":"echo \ "Error:no test specified \" && exit 1"
},
//项目的关键字,用于seo优化
"keywords":[
"nodejs",
"express",
"mysql",
"egg"
],
//作者
"author":"xuepenglong",
//版权信息
"license":"ISC",
"dependencies":{},
"devDependencies":{}
}
包管理器
npm是nodejs的包管理器,可以用来下载第三方包(模块)
常用命令
npm adduser 登录
npm clear cache 清除缓存
npm clean cache 清除缓存
npm config set
npm config get
npm -h 查看帮助
npm --help 查看帮助
package代表包的名称
-g 全局安装
-d 当前路径安装
–save 向包管理文件添加 生产环境依赖
–save-dev 向包管理文件添加 开发环境依赖
npm install -g 安装
npm uninstall -g 卸载
npm publish 发布
npm unplish 取消发布
npm owner 一个包的作者
npm whoami 用户名
npm -v 查看版本号
npm run <> 执行包管理文件的某条命令
npm start 启动默认命令 简写,npm run start
npm init 生成一个包管理文件
npm i 等同于npm install
环境变量
添加环境变量path:
nodejs的安装路径
npm包的下载路径
自定义路径
npm config set prefix <指定npm全局包的存放路径>
npm config set cache <指定npm下包的缓存路径>
全局包的引用
添加环境变量NODE_PATH,来获取全局包的存放路径
淘宝镜像
由于npm服务器在美国,国内由于"墙"的原因,国内访问缓慢
这是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步
cnpm具备除了publish及unpublish npm的所有功能
安装:
npm install cnpm -g
npm config set registry https://registry.npm.taobao.org
yarn 包管理器
快速,可靠,安全的依赖管理工具
npm install -g yarn
middleware中间件
进入一个路由页面或者一个接口之前,执行某一些特殊的操作,通过中间件来完成
中间件特点:形参具备三个参数 request response next
错误处理中间件特点:形参具备四个参数request response error next
内置中间件
fs path url http scoket
第三方中间件
axios jquery body-parser redux react
const jquery=require("jquery")
import jquery from "jquery"
//全局挂载的中间件
var app=require("express")();
app.use(function(req,res,next){
//do something
})
//错误处理中间件
app.get("/login",(req,res,error,next)=>{
do something...
},(req,res)=>{
})
//路由中间件
app.get("/login",(req,res,next)=>{
do something...
},(req,res)=>{
})