Nodejs———需要的基本环境(服务自启动(nodemon)、npm、nvm、nrm)

一、nodejs基本介绍

nodejs是一个基于 Chrome V8 引擎的 JavaScript 运行环境,nodejs的API包括全局、内置模块、第三方模块等三部分。其中我们常见的用npm安装发布的依赖就是第三方模块,当然你也可以自己开发一个第三方模块。nodejs的核心包括内置的V8引擎和libuv开发包,V8引擎我们都熟悉浏览器上的引擎,运行js代码,libuv开发包主要内置了异步IO、事件驱动等核心模块。还有一个就是node底层,任何一个程序需要在系统中运行,都需要有一个兼容系统的底层代码,比如调用底层环境(windows,mac,linux)

二、用nodejs搭建一个服务

我们都知道,前端静态页面请求一个数据,都会用ajax发送一个请求给web server,我们就用nodejs搭建一个简单的webserver,我们新建一个文件夹,然后执行npm init(或者安装默认:npm init -y) 创建package.json文件,在创建一个demo.js文件,这样我们就可以引入http模块,并且打开该http服务,启动方式有两种如下,还有如何解决乱码问题。

const os = require('os')
// 获取cpus
const cpus = os.cpus()
console.log(cpus.length)
// 获取内存
const total = os.totalmem()
console.log(total/1024/1024/1024) // GB
// 剩余内存
console.log(os.freemem()/1024/1024/1024)


// ajax-->api-->web server(node js实现)
// 启动方式1.在命令行中执行:node demo.js
// 启动方式2.在package.json文件中配置启动方式:"start":"node demo.js",每次启动就可以在命令行中执行npm start 启动服务了
// 解决乱码问题,设置响应头,告诉浏览器用utf-8编码
const http = require('http')
const server = http.createServer((req, res) =>{
    res.setHeader('Content-Type', 'text/plain;charset=utf-8')
    res.end('Hello,你好世界')
})
server.listen(3000, '127.0.0.1', () => {
    console.log('web服务启动成功')
})

package.json文件:

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

 三、使用nodemon服务自动重启

nodemon的作用:每次我们修改代码,可能都需要重启服务才能刷新,这样做太麻烦了,nodemon就帮我们每次修改代码后自动重启,具体使用如下:

安装完后重启服务:npm start

因为nodemon默认是我们修改了任何文件都会自动重启,甚至修改package.json都会重启,这样太影响效率,我们可以配置nodemon.json 指定修改后重启的服务

nodemon.json:(重启后生效)

 

四、使用nrm 管理npm源

源是什么:我们所需要的第三方安装包有的放在外网,有的淘宝上也有,则选择国内的可能就快一点,就可以用cnpm命令下载安装,这也就是为什么说有的时候npm安装更慢

安装:npm install nrm -g

使用nrm ls 查看nrm内置的源

使用nrm -h 查看nrm命令

如何使用:我们先用nrm current 查看当前使用的源,是npm,然后切换使用cnpm:nrm use cnpm ,在使用nrm current查看,发现变成了cnpm

五、使用nvm管理nodejs版本

为什么要使用:因为nodejs版本过多,每个项目可能用的node版本不一样,使用nvm就可以解决切换版本的烦恼。

安装:查看nvm官网安装方法

查看命令:nvm -h

查看node当前几个版本:nvm ls

切换nodejs版本:nvm use v10.14.0,然后查看node版本,node -v,会发现就切换了当前版本

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node.js中使用axios请求接口以及拦截器的使用方法如下: 首先,需要安装axios模块: ``` npm install axios ``` 然后,在代码中引入axios模块: ```js const axios = require('axios'); ``` 接下来,可以使用axios发送GET、POST等请求: ```js axios.get('http://example.com/api') .then(response => { console.log(response.data); }) .catch(error => { console.log(error); }); axios.post('http://example.com/api', {data: 'hello'}) .then(response => { console.log(response.data); }) .catch(error => { console.log(error); }); ``` 当然,axios还支持一些其他的请求方法,比如PUT、DELETE等。 接下来,我们可以使用axios的拦截器对请求和响应进行处理。例如,我们可以在请求头中添加token: ```js axios.interceptors.request.use(config => { const token = localStorage.getItem('token'); if (token) { config.headers.Authorization = `Bearer ${token}`; } return config; }, error => { return Promise.reject(error); }); ``` 在上面的代码中,我们使用了axios的interceptors.request.use方法,它可以在请求被发送出去之前对其进行拦截处理。在这个例子中,我们将localStorage中存储的token添加到请求头中的Authorization字段中。 我们还可以使用axios的interceptors.response.use方法对响应进行处理。例如,我们可以检查响应状态码是否为401,如果是,则跳转到登录页面: ```js axios.interceptors.response.use(response => { return response; }, error => { if (error.response.status === 401) { window.location.href = '/login'; } return Promise.reject(error); }); ``` 在上面的代码中,我们使用了axios的interceptors.response.use方法,它可以在响应被接收之前对其进行拦截处理。在这个例子中,我们检查了响应状态码是否为401,并且在这种情况下跳转到登录页面。 以上就是在Node.js中使用axios请求接口及拦截器的使用方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值