Node 正常启动(node)、热更启动(nodemon)、部署(pm2)、安装包(npm、cnpm、yarn)、发布包(publish) 、node版本管理(NVM) 常用工具----学习笔记(五)

1、Node服务启动指令的配制

通过之前学习知道,启动服务是通过执行node js文件来启动的,这里我们可以通过在package.json中的scripts中配制指令来通过指令来启动服务

app.js

const http = require('http');

const server = http.createServer((req,res)=>{
	res.end('hello world!yiyueqinghui!')
})

server.listen(3000,'127.0.0.1',()=>{
	console.log('server 启动成功!')
})

通常启动这个服务的方式是 node app.js所在的路径

但是这是我们通过配制package.json,设置指令来启动服务,package.json配制如下,

{
  "name": "demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

其实就是在scripts中新增指令 “start”:“node app.js”,之后通过npm start 指令来执行node app.js指令,从而启动服务。(这也就是vue配制启动命令的方式)

2、nodemon ---- Node监听文件变化,自动重启服务的方法

正常情况下,js文件的变化,node服务就需要重新手动重启一次,
这里通过nodemon第三方模块来实现一旦文件变化,服务就自动重启的功能

配制nodemon步骤如下: (用于当文件改变时,自动重启服务)

  • 1、安装模块 npm install nodemon -D (-D是配制在运行环境中)

  • 2、修改package.json中的scripts中的启动命令,即使用nodemon来启动服务而非node
    这里把原先npm start改为了npm start:node,而npm start 改为了用nodemon来启动服务,这样的话,用npm start启动服务后,就可文件变化后,服务自动重启)

    {
      "name": "demo",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "start:node": "node src/app.js",
        "start":"nodemon src/app.js",
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "nodemon": "^2.0.7"
      }
    }
    
  • 3、通过增加nodemon.json 配置 指定的要监听的文件(优化性能,指定需要监听的文件,以减少不必要的重启) -------- 此步属于性能优化,可以跳过相应配制

    这一步也可以不要,但是所有文件变化都会触发服务的重启,这里只是为了优化性能,减少不必要的重启。

    在与package.json同级的目录上,新建一个nodemon.json文件,写入如下,

    {
    	"watch":["./*.js"]     //这里是指监听当前目录下的js文件,其它文件的变化不会触发服务的重启
    }
    

3、pm2 ------ 线上部署使用pm2能自动守护进程

常规部署的问题
在node窗口中启动服务后,如果关掉node窗口后,nodejs 服务就自动关掉,无法保持一下启动状态;

这里使用pm2可以保证即使关闭窗口,node服务也会在后台一直启动;

配制步骤如下

  • 1、安装pm2
    npm install -g pm2
  • 2、安装服务依赖
    npm install
  • 3、启动服务
    pm2 start 【入口js文件的路径】

启动命令参数说明:
--watch:监听应用目录的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件。
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目。
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如–ignore-watch=“test node_modules “some scripts””
-n --name:应用的名称。查看应用信息的时候可以用到。
-o --output ·标准输出日志文件的路径
-e --error <path>: 错误输出日志文件的路径。

这时关闭终端后,服务仍正常运行。

这里重点推荐–watch参数,
pm2 start 【入口js文件的路径】--watch
可以监听目录文件变化,自动重启项目,这就实现了nodemon监听变化重启的功能,但相比nodemon,优势在于关闭窗口后,服务仍然保持启动状态,除非手动去运行关闭命令

其它pm2常用命令

// 1、查看进程
     pm2 list              #查看PM2列表中所有的进程
     pm2 show 0            #查看进程详细信息,0为PM2进程id
// 2、停止服务
     pm2  stop all    #停止PM2列表中所有的进程
     pm2  stop 0     #停止PM2列表中进程为0的进程
// 3、重载
     pm2 reload all    #重载PM2列表中所有的进程
     pm2 reload 0     #重载PM2列表中进程为0的进程
//4、重启
     pm2 restart all     #重启PM2列表中所有的进程
     pm2 restart 0      #重启PM2列表中进程为0的进程
// 5、更新
     pm2 update
// 6、更多命令参数请查看帮助
     pm2 --help
// 7、查看实时日志
     pm2 logs  

pm2常用命令的参数链接:https://blog.csdn.net/chengxuyuanyonghu/article/details/74910875

4、cnpm、yarn ------ 安装包(是使用npm/cnpm/yarn…)

npm常用命令 https://blog.csdn.net/yiyueqinghui/article/details/114526193

cnpm安装

npm install cnpm -g --registry=https://registry.npm.taobao.org

yarn安装
npm install -g yarn
在这里插入图片描述

5、注册与发布包

  • 1、注册账号:https://www.npmjs.com/ (邮箱验证)
  • 2、npm adduser 输⼊刚刚注册好的⽤户名和密码
  • 3、查看源地址是否是官方地址
    查询源地址是否是官方地址 https://registry.npmjs.org/ ------- npm config list
    如果源地址不是官方地址,则修改源地址 ---------- npm config set registry https://registry.npmjs.org/

通常情况下,可以通过切换源地址为淘宝源地址来加快下载速度,(把源改为淘宝源地址可以实现cnpm),命令如下
npm config set registry https://registry.npm.taobao.org/
改为官方源地址的命令
npm config set registry https://registry.npmjs.org/

  • 4、发布自己的包npm publish

    • 第一步,初始化包-----发布前必须有package.json,因此需要先初始化 npm init -y

    • 第二步,写自己的包

    • 第三步,发布之前检测包名是否已被占用,包名即package.json中的name所对应的值
      在npm官网中(https://www.npmjs.com/)搜索包名,判断是否已存在,若存在则修改;

    • 第四步,发布 npm publish,之后在官网搜索自己发布的包

在这里插入图片描述

  • 5、更新包,必须修改package.json中的版本号,即version
  • 6、删除包 ,进入包所在的目录,npm unpublish --force

6、nvm ----- 对node版本的管理

当一个电脑上有多个node版本时,需要对每个版本进行管理时,可以使用nvm,来切换当前命令窗口的node的版本。

安装nvm

  • nvm是mac环境下管理nodejs的⼯具。
    在windows环境下推荐使⽤nvmw或者nvmwindows;
    Nvm-windows 下载地址 https://github.com/coreybutler/nvm-windows 下载 nvmsetup.zip

NVM常⽤指令

  • nvm ls-remote -------- 查看node当前远程所有版本
  • nvm ls ---------- 当前本机上安装的所有node的版本

  • nvm install 版本号 --------- 安装指定版本nodejs
  • nvm install stable --------- 安装最新稳定版nodejs

  • nvm use 版本 ------ 切换到某个版本的node ,只在当前命令窗口有效,关闭后再次打开时,仍是之前node版本
  • nvm use node ------/切换到最新版本的node

  • nvm alias default 版本号 ------ 切换默认node版本到指定的版本,但当前窗口仍延用之前的node版本,下次打开node命令窗口时node新版本生效

7、nrm ------ 对npm 源的管理(是使用npm/cnpm/yarn…)

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值