nodejs web服务器 -- 搭建开发环境

一、配置目录结构

1、使用npm生成package.json,我创建了一个nodejs_network 文件夹,cd到这个文件夹下,执行:

npm init -y

其中-y的含义是yes的意思,在init的时候省去了敲回车的步骤,如此就生成了默认的package.json文件

如上图所示,version -- 版本 ,description -- 描述,  keywords --- 关键词

          author --- 名字+邮箱  , license --- 授权 , main -- 入口文件

2、创建一个js文件--- appjs 用来处理请求逻辑, 一个文件夹bin,里面创建一个js文件,我这里命名base.js作为入口。

其中 app.js文件中创建一个serverHandlder,用来处理服务器业务逻辑

const serverHandler = (req,res) => { //处理逻辑 业务代码res.setHeader('Content-Type', 'application/json');const responseData = {"name":"123"};res.end(JSON.stringify(responseData));
}
module.exports = serverHandler; //导出 serverHandler

在base.js中导入serverHandler

const http = require('http');
const serverHandler = require('../app.js');
const PORT = 5005; //端口
const server = http.createServer(serverHandler);
server.listen(PORT, () => {console.log('server is running at port ',PORT);
})

二 、安装nodemon

nodemon 是一种工具,可在检测到目录中的文件更改时通过自动重新启动节点应用程序来帮助开发基于 node.js 的应用程序。

  • 自动重新启动应用程序。
  • 检测要监视的默认文件扩展名。
  • 默认支持 node,但易于运行任何可执行文件,如 python、ruby、make 等。
  • 忽略特定的文件或目录。
  • 监视特定目录。
  • 使用服务器应用程序或一次性运行实用程序和 REPL。
  • 可通过 Node require 语句编写脚本。
  • 开源,在 github 上可用。

nodemon一般在开发中使用,最大的长处是watch功能,一旦文件发生变化,会自动重启进程。

终端执行

 npm install nodemon -D 

在package.json文件中修改入口

{"name": "nodejs_network","version": "1.0.0","description": "","main": "bin/base.js", //入口目录"scripts": {"test": "nodemon bin/base.js"},"keywords": [],"author": "","license": "ISC","devDependencies": {"nodemon": "^3.1.0"}
}

在scripts 里编辑 nodemon bin/base.js

开始调试

npm run test

浏览器访问http://localhost:5005/

这样,我们就完成了开发环境的搭建。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/733199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

山泉还可以申请商标不,现阶段通过率如何!

在32类类别啤酒饮料是许多生产水企业主要申请注册的类别,那现在山泉在这个类别还可以申请注册商标不,山泉在这个类别基本上是通用词,首先是需要前面词具有显著性,没的相同或近似才可以。 经普推知产老杨检索发现,在32…

PostgreSQL的学习心得和知识总结(一百三十一)|深入理解PostgreSQL数据库如何使用psql中的变量

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库链接,点击前往 4、日本著名PostgreSQL数据库专家 铃木启修 网站…

算法刷题day26:单源最短路

目录 引言一、热浪二、信使三、香甜的黄油四、最小花费 引言 今天刷题刷的是单源最短路问题,也就是图论中的搜索的问题,这个问题还是非常常考的,其实模板只要背熟了,理解到位了,剩下的主要是建图和一些细节的问题&…

手机APP测试——如何进行安装、卸载、运行?

手机APP测试——主要针对的是安卓( Android )和苹果IOS两大主流操作系统,主要考虑的就是功能性、兼容性、稳定性、易用性、性能等测试,今天先来讲讲如何进行安装、卸载、运行的内容。 一、App安装 1、点击运行APP安装包,检测安装包是否正常; . 2、进入[安装向导]…

自动驾驶感知面试-coding应用题

感知面试手撕代码&#xff1a;这个博主总结的很好&#xff0c;尤其是关于叉积的计算 双线性插值 双线性插值公式记忆方法和Python实现 NMS算法 #include<iostream> #include<vector> #include<algorithm>using namespace std; struct Box {int x1,x2,y1,…

Pytorch学习 day09(简单神经网络模型的搭建)

简单神经网络模型的搭建 针对CIFAR 10数据集的神经网络模型结构如下图&#xff1a; 由于上图的结构没有给出具体的padding、stride的值&#xff0c;所以我们需要根据以下公式&#xff0c;手动推算&#xff1a; 注意&#xff1a;当stride太大时&#xff0c;padding也会变得很大…

【NR 定位】3GPP NR Positioning 5G定位标准解读(九)-增强的小区ID定位

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

基于springboot+vue的食品安全管理系统(源码+论文)

目录 前言 一、功能设计 二、功能实现 1 首页 2 后台登录 3 食品信息添加页面 4 食品查询 三、库表设计 四、论文 前言 从事食品行业的商家可能会对于食品的储存以及食品的销售&#xff0c;都有着不同门道的想法&#xff0c;那么如何能将这些想法一一实现&#xff0c;…

content-type类型有哪些

Content-Type 是互联网上用来标识 MIME 类型&#xff08;媒体类型&#xff09;的一组字符。它在 HTTP 协议的消息头中使用&#xff0c;用以指示请求和响应中的媒体数据格式标签。Content-Type 对于正确地处理和显示网络上的资源至关重要&#xff0c;因为它决定了文件接收方将以…

大模型笔记:幻觉 hallucination

1 介绍 “幻觉” (Hallucination)&#xff0c;指模型生成自然流畅&#xff0c;语法正确但实际上毫无意义且包含虚假信息即事实错误的文本&#xff0c;以假乱真&#xff0c;就像人产生的幻觉一样。 举个例子就是&#xff0c;即使现在的chatgpt-4&#xff0c;你问他一些有确切…

计算机网络 八股

计算机网络体系结构 OSI&#xff1a;物理层、数据链路层、网络层、运输层、会话层、表示层、应用层

【FFmpeg】ffmpeg 命令行参数 ⑤ ( 使用 ffmpeg 命令提取 音视频 数据 | 保留封装格式 | 保留编码格式 | 重新编码 )

文章目录 一、使用 ffmpeg 命令提取 音视频 数据1、提取音频数据 - 保留封装格式2、提取视频数据 - 保留封装格式3、提取视频数据 - 保留编码格式4、提取视频数据 - 重新编码5、提取音频数据 - 保留编码格式6、提取音频数据 - 重新编码 一、使用 ffmpeg 命令提取 音视频 数据 1…

如何批量加密U盘?U盘如何批量设置密码?

但U盘数量较多时&#xff0c;加密U盘的工作就会非常麻烦。这时你需要使用U盘批量加密工具。那么&#xff0c;如何批量加密U盘&#xff1f; 批量加密U盘 想要实现U盘批量加密&#xff0c;我们需要使用专业的U盘批量加密工具&#xff0c;如U盘内存卡批量只读加密专家。它支持批量…

Xargs命令详解: 构建和执行命令的必备工具

xargs&#xff0c;在Unix和大多数类Unix的操作系统中&#xff0c;被广泛使用来从标准输入构建和执行命令。在一些场合下&#xff0c;某些命令无法直接接收标准输入作为参数&#xff0c;而xargs命令将能够用来解决这个问题。 Xargs的功能理解 xargs命令的主要作用是读取来自标…

RabbitMQ发布确认高级版

1.前言 在生产环境中由于一些不明原因&#xff0c;导致 RabbitMQ 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投递呢&…

代码随想录训练营第41天 | 动态规划:01背包理论基础、动态规划:01背包理论基础(滚动数组)、LeetCode 416.分割等和子集

动态规划&#xff1a;01背包理论基础 文章讲解&#xff1a;代码随想录(programmercarl.com) 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;_哔哩哔哩_bilibili 动态规划&#xff1a;01背包理论基础&#xff08;滚动数组&#xff09; 文章讲解&#xff1a;代码随想录(…

std::timed_mutex解释

std::timed_mutex 是 C11 标准库中引入的一种互斥量&#xff08;mutex&#xff09;类型&#xff0c;它允许线程在尝试获取锁时设置超时时间。如果在超时时间内无法获取锁&#xff0c;线程可以选择放弃锁或者执行其他操作。 std::timed_mutex 类似于 std::mutex&#xff0c;但是…

Dutree:Linux 文件系统磁盘使用追踪工具

在 Linux 系统中&#xff0c;对文件系统的磁盘使用情况进行跟踪和管理是至关重要的。dutree 是一个功能强大的工具&#xff0c;它能够以可视化的方式展示文件系统中的目录和文件的大小&#xff0c;帮助用户更好地了解磁盘空间的使用情况。本文将介绍 dutree 工具的使用方法、功…

Cocos Creator 2d光照

godot游戏引擎是有2d光照的&#xff0c;用起来感觉还是很强大的&#xff0c;不知道他是怎么搞的&#xff0c;有时间看看他们怎么实现的。 之前一直以为cocos社区里面没有2d光照的实现&#xff0c;偶然看到2d实现的具体逻辑&#xff0c;现在整理如下&#xff0c; 一&#xff1…

nextjs上的DDD架构

背景 新入职公司&#xff0c;需要快速把之前杂乱无章的首页&#xff08;有复杂业务&#xff0c;nextjs&#xff09;搭一个靠谱的架构&#xff0c;否则基本没办法把事情继续推进了&#xff08;核心流程需要持续大量适配到不同的后端实现上&#xff09;。 个人客户端出身&#x…