node 的安装及使用

前言

Node.js 是一个开源和跨平台的 JavaScript 运行时环境,是一个以 JavaScript 为基础编写的服务器端平台。它的强大工具生态系统是构建在 npm 包管理器之上,这使得 Node.js 可以轻松地实现各种功能。

安装

首先下载 node 安装,可以选择安装最新版本,或者想安装以往的版本也行

打开网站,下滑到下面,选择 Previous Releases(以往版本)

查看想要的版本

然后根据自己的系统选择对应的安装包,注意安装路径不要有中文,下载完成后,一直点 next 下一步就安装完成了。

可以打开终端输入 npm -v,出现版本号就表示安装成功了

环境变量

安装完成后就需要配置环境变量了

  • 去到系统设置,选择高级系统设置
  • 点击环境变量
  • 选中系统变量中的 Path 进行编辑
  • 添加刚刚安装包对应的安装目录

然后我们可以去设置由 npm 下载和缓存存放的文件位置

新建 node_cache(缓存文件夹) 和 node_global(下载文件夹) 文件

输入命令,设置所创建文件夹的路径

js 复制代码
npm config set cache "D:\node\node_cache"
npm config set prefix "D:\node\node_global"

然后可以输入 npm config get cachenpm config get prefix 来查看是否成功修改路径

接下来是修改用户的环境变量,修改 C:\Users\Administrator\AppData\Roaming\npm 这一行为刚刚新建 node_global 文件夹所在路径

新建系统环境变量 NODE_PATH

使用

新建一个 test.js 文件,使用 node 运行这个文件可以看到 console 打印出的文字

http 模块

Node.js 内置了 HTTP 模块,求可以引入 http 模块来开启服务,实现 http 的请求

js 复制代码
//引入http模块
var http = require('http');
/**
 * request:  接收客户端的请求信息
 * response: 响应给客户端的信息
 */
http.createServer(function (request, response) {
  /**
   * 设置请求头信息 writeHead
   * 参数
   * code 状态码: 200
   * headers 信息: Content-Type
   */ 
  response.writeHead(200, {'Content-Type': 'text/plain;charset=utf8'});
   //写入信息
  response.write('Hello World\n');
  //请求结束
  response.end('end');
})
//请求监听端口 8088
.listen(8088);

console.log('Server running at http://127.0.0.1:8088/');

运行 node test.js 得到如下,表示运行成功

在浏览器输入 http://127.0.0.1:8088/ 可以看到

为什么开启的是 124.0.0.1 这个 IP 呢?在平时开发使用 localhost 的看,实质上就是指向 127.0.0.1 这个本地IP地址。在操作系统中有个配置文件将 localhost 与 127.0.0.1 绑定在了一起。可以理解为本地主机的意思。

我们可以通过 listen 中传递第二参数,像我现在电脑连接的wifi,现ip 地址是 192.168.0.130,也可以运行成功

js 复制代码
.listen(8088, '192.168.0.130');

当在 http://192.168.0.130:8088/?name=xiaoming&age=18 后面拼接参数,可以在 request 参数接收到

打印 request.url 得到 /?name=xiaoming&age=18

url 模块

可以利用 url 模块解析地址中拼接的参数

js 复制代码
var http = require('http');
//引入 url 模块
var url = require('url');

http.createServer(function (request, response) {
  
  response.writeHead(200, {'Content-Type': 'text/plain;charset=utf8'});
  if(request.url != '/favicon.ico') { // 这里是排除 response.end('end'); 输出结果
    // parse() 将 request.url 字符串解析成对象
    let queryData = url.parse(request.url, true).query
    //写入信息
    response.write(`我叫${queryData.name},年龄${queryData.age}岁\n`);
  }
  //请求结束
  response.end('end');
}).listen(8088);

console.log('Server running at http://127.0.0.1:8088/');

其中url.parse(request.url, true) 获得出来的数据如下

页面展示出如下,这样就可以获取到地址参数并展示到页面中

new URL 获取请求 url 相关信息也可以使用实例化 URL 对象

js 复制代码
let url = new URL(request.url, 'http://127.0.0.1');
console.log(url);
js 复制代码
let url = new URL(request.url, 'http://127.0.0.1');
// 调用 searchParams.get 来获取参数
console.log(url.searchParams.get('name'))
console.log(url.searchParams.get('age'))

request

创建 createServer 服务传递的第一个形参 request 有以下字段获取相关信息

  • request.method,请求的方法
  • request.url,请求的 url 路径
  • request.headers,请求头

response

创建 createServer 服务传递的第二个形参 response 可以进行设置响应的信息

  • response.statusCode = 200,设置状态码
  • response.statusMessage = 'success',设置状态信息
  • response.setHeader('content-type', 'text/html;charset=utf-8'),设置请求头

总结

JavaScript 是一门脚本语言,HTML 文件中的 Js 代码是由浏览器解析执行的,而 Js 文件的执行可以由 Node.js 来解析运行,可以在非浏览器环境中运行 JS 代码,并且它支持前后端的 js 编程,因为它内置了 fs、http等对象,能够作为服务端,快速创建网络应用程序。

相关推荐
傻小胖19 分钟前
React 脚手架配置代理完整指南
前端·react.js·前端框架
EterNity_TiMe_31 分钟前
【论文复现】农作物病害分类(Web端实现)
前端·人工智能·python·机器学习·分类·数据挖掘
余生H1 小时前
深入理解HTML页面加载解析和渲染过程(一)
前端·html·渲染
吴敬悦1 小时前
领导:按规范提交代码conventionalcommit
前端·程序员·前端工程化
ganlanA1 小时前
uniapp+vue 前端防多次点击表单,防误触多次请求方法。
前端·vue.js·uni-app
卓大胖_1 小时前
Next.js 新手容易犯的错误 _ 性能优化与安全实践(6)
前端·javascript·安全
m0_748246351 小时前
Spring Web MVC:功能端点(Functional Endpoints)
前端·spring·mvc
SomeB1oody2 小时前
【Rust自学】6.4. 简单的控制流-if let
开发语言·前端·rust
云只上2 小时前
前端项目 node_modules依赖报错解决记录
前端·npm·node.js
程序员_三木2 小时前
在 Vue3 项目中安装和配置 Three.js
前端·javascript·vue.js·webgl·three.js