当前位置: 首页 > news >正文

使用Node.js搭建服务器

使用Node.js搭建服务器

1.安装Node.js和npm

  • 安装教程自行搜索(好多),建议Node.js直接安装在C盘

  • 注意镜像的设置:npm install -g cnpm --registry=https://registry.npm.taobao.org

  • 注意版本检查:

    //以下是我使用的版本号
    node -v  v14.21.2
    npm -v  6.14.17
    

2.创建一个空的文件夹,打开该路径下的终端(快捷键cmd+Enter)

  • 输入 npm init 初始化项目 ,设置一下 package name(正常起个名),后续一路回车即可,直到文件夹中出现 package.json 文件。
  • 注意:如果觉得麻烦直接 npm init -y 创建,生成一个默认的 package.json 文件

3.安装Express框架输入: npm i express

4.创建 server.js 文件,在文件中写上以下代码:

//导入express
const express = require('express');
//创建web服务器
const app = express();// 通过app.listen进行服务器的配置,并启动服务器
//接收两个配置参数,一个是对应的端口号,一个是启动成功的回调函数
app.listen(5000,()=>{console.log('5000端口服务器启动成功');
})
//结合React的github案例的server.js文件
const express = require("express")
const axios = require("axios")
const app = express()app.get("/search/users", function (req, res) {const {q} = req.queryaxios({url: 'https://api.github.com/search/users',params: {q}}).then(response => {res.json(response.data)}).catch(error => {// 捕获请求失败的情况,并返回适当的错误信息给客户端if (error.response) {// 请求已经发出,但是服务器返回了非2xx的状态码res.status(error.response.status).json({ error: error.response.statusText });} else if (error.request) {// 请求发出了,但是没有收到响应res.status(500).json({ error: "No response from server" });} else {// 其他错误res.status(500).json({ error: error.message });}});
})app.get("/search/users2", function (req, res) {res.json({items: [{login: "yyx990803",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 1,},{login: "red456",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 2,},{login: "yyx9908032",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 3,},{login: "Banner",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 4,},{login: "yyx9908033",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 5,},{login: "abc3344",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 6,},{login: "yyx9908034",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 7,},{login: "apple822",html_url: "https://github.com/ruanyf",avatar_url: "https://avatars2.githubusercontent.com/u/905434?s=460&v=4",id: 8,},{login: "yyx9908035",html_url: "https://github.com/yyx990803",avatar_url:"https://avatars3.githubusercontent.com/u/499550?s=460&u=de41ec9325e8a92e281b96a1514a0fd1cd81ad4a&v=4",id: 9,},],});
});app.listen(5000, "localhost", (err) => {if (!err){console.log("服务器启动成功")console.log("请求github真实数据请访问:http://localhost:5000/search/users")console.log("请求本地模拟数据请访问:http://localhost:5000/search/users2")} else console.log(err);

5.运行服务器输入:node server.js

  • 如果你觉得麻烦,可以更改 package.json 文件的配置

    "scripts": {"start": "node server.js"
    },
    
  • 更改完毕运行服务器输入:npm start

http://www.lryc.cn/news/356175.html

相关文章:

  • 网络编程——多进程的服务器
  • 代码随想录算法训练营第二十一天| 530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先
  • 【面试】JDK和JVM是什么关系?
  • 旺店通与金蝶云星空 就应该这样集成打通
  • linux开发之设备树
  • DQL(数据查询)
  • LeetCode 2951.找出峰值:模拟(遍历)
  • 软考结束。有什么要说的
  • Matlab读取Swarm球谐系数,并绘制EWH全球格网图(存在疑问)
  • Vue集成Iframe
  • Android Studio 所有历史版本下载
  • 5.27作业
  • 微服务架构下的‘黑带’安全大师:Spring Cloud Security全攻略!
  • Py列表(list)
  • 黑马es0-1实现自动补全功能
  • react通过上下文深入传递数据
  • 「代码厨房大揭秘:Python性能优化的烹饪秘籍!」
  • 【重学C语言】十六、联合、枚举、面向对象编程
  • Github2024-05-21 Python开源项目日报 Top10
  • labview_开放协议
  • AWS安全性身份和合规性之Amazon Macie
  • redis数据类型set,zset
  • 央视网视频下载和花屏问题处理
  • 四、通信和网络安全—局域网|广域网|远程连接和攻击技术(CISSP)
  • 15、设计模式之责任链模式
  • 神奇动物在哪里,但导演是微软
  • Flutter 中的 Flow 小部件:全面指南
  • 【pyspark速成专家】11_Spark性能调优方法2
  • 吊顶的做法防踩坑,吊顶怎么省钱还好看
  • 揭秘Tensor Core黑科技:如何让AI计算速度飞跃