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

news2024/11/20 0:34:05

一、配置目录结构

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.coloradmin.cn/o/1500604.html

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

相关文章

Mysql学习笔记之事务详解(读未提交、读以提交、可重复读、串行化读)

在这个博主的基础上,增加两种情况的对比:https://blog.csdn.net/llllllkkkkkooooo/article/details/108068919 可重复读中幻读现象(未使用MVCC) 设置可重复读的隔离级别 set global transaction isolation level repeatable read…

Java --- springcloud初始项目创建

目录 一、cloud项目创建 1.1、项目编码规范 1.2、注解生效激活 1.3、导入父工程maven的pom依赖 二、创建子工程并导入相关pom依赖 2.1、相关配置文件 2.1.1、数据库配置文件内容 2.1.2、自动生成文件配置内容 三、创建微服务8001子工程 3.1、导入相关pom依赖 3.…

Orange3数据预处理(分组组件)

Group By是Orange3中一个非常有用的组件,它允许用户对数据集进行聚合操作,类似于SQL中的GROUP BY语句或Pandas库中的groupby方法。以下是Group By组件的一些核心功能介绍: 1. Mean (平均数): 数据值的总和除以数据项的数量,显示数…

yolov8多batch推理,nms后处理

0. 背景 在高速公路监控视频场景下,图像分辨率大都是1920 * 1080或者2560 * 1440,远处的物体(车辆和行人等)都比较小。考虑需要对图像进行拆分,然后把拆分后的数据统一送入模型中,推理的结果然后再做nms&am…

有没有能用蓝牙的游泳耳机?6招解决选购难题,瞄准好货!

在数字化时代,我们越来越依赖各种电子设备来提升生活质量。对于喜欢运动的朋友来说,耳机已经成为他们必不可少的装备之一。无论是跑步、健身还是游泳,耳机都能为我们提供美妙的音乐和清晰的语音通话,让我们的运动体验更加丰富多彩…

React报错 之 Objects are not valid as a React child

原文链接: 1、React报错之Objects are not valid as a React child 2、Objects are not valid as a React child error [Solved] 作者:Borislav Hadzhiev 以下文中涉及到的链接均来自于该作者,他写了很多相关的文章,可以多看看他的…

微信开发者工具 vim 键位绑定

问题:如标题 解决: 最上边点击设置,找到编辑器设置 点击更多编辑器设置,然后会弹出设置这个页面 搜索 vim ,并点击 一直往下边滑动,找到 setting.json 然后加入这段代码: "vim.insertM…

python练习题2

1.一下哪项不是python语言的保留字() A.False B.and C.true D.if 答案:C(应该是True) 2.x5,y3,执行x,yy,x之后,x和y的值分别是什么() …

记一次edu证书站的挖洞经历

前言 前几天在网上冲浪的时候无意间看到了一个Edu的站点,是一个很常见的类似MOOC的那种在线学习系统,对外开放,同时有注册和登录功能。对于我这种常年低危的菜鸡来说,这是最愿意看到的,因为一个Web网站有了登录功能&a…

Discuz论坛网站报错Discuz!Database Error(0)notconnect的解决办法

运营服务器大本营有段时间了,在运营期间遇到两次Discuz!Database Error(0)notconnect报错,和你们分享遇到Discuz报错的解决办法,希望可以帮助到你。 首先网站报错(0)notconnect&…

iOS——【自动引用计数】ARC规则及实现

1.3.3所有权修饰符 所有权修饰符一共有四种: __strong 修饰符__weak 修饰符__undafe_unretained 修饰符__autoreleasing 修饰符 __strong修饰符 _strong修饰符表示对对象的强引用,持有强引用的变量在超出其作用域的时候会被废弃,随着强引…

玄机科技女神大集结!妇女节来一场别开生面的“她”力量巡礼!

3.8妇女节到啦!是不是觉得整个世界都充满了粉红色的气息?各位小伙伴是不是已经准备好为身边的女性送上祝福了呢?而今天,我们也要来一场特别的“联欢”,盘点一下玄机科技动画中那些风格各异、魅力无限的女神们&#xff…

bug - poi getMergedRegion合并后的行列number错误

第一个CellRangeAddress 的Row number 应该是0&#xff0c;但是给出的是1。 其它的CellRangeAddress 与实际大致相差4-5不等&#xff0c;没有规律。 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>…

开源模型应用落地-工具使用篇-Ollama(六)

一、前言 在AI大模型百花齐放的时代&#xff0c;很多人都对新兴技术充满了热情&#xff0c;都想尝试一下。但是&#xff0c;实际上要入门AI技术的门槛非常高。除了需要高端设备&#xff0c;还需要面临复杂的部署和安装过程&#xff0c;这让很多人望而却步。不过&#xff0c;随着…

llama factory学习笔记

模型 模型名模型大小默认模块TemplateBaichuan27B/13BW_packbaichuan2BLOOM560M/1.1B/1.7B/3B/7.1B/176Bquery_key_value-BLOOMZ560M/1.1B/1.7B/3B/7.1B/176Bquery_key_value-ChatGLM36Bquery_key_valuechatglm3DeepSeek (MoE)7B/16B/67Bq_proj,v_projdeepseekFalcon7B/40B/18…

寻找数组的中心索引

给你一个整数数组 nums &#xff0c;请计算数组的 中心下标 。 数组 中心下标 是数组的一个下标&#xff0c;其左侧所有元素相加的和等于右侧所有元素相加的和。 如果中心下标位于数组最左端&#xff0c;那么左侧数之和视为 0 &#xff0c;因为在下标的左侧不存在元素。这一点…

跨网络传输的大致过程+图解(软件虚拟层),ip地址介绍,ip地址和mac地址对比

目录 跨网络传输 引入​​​​​​​ 举例 -- 唐僧西天取经 结论 介绍 ip地址 引入 介绍 类型 公有ip 私有ip 版本 ipv4 ipv6 ip地址和mac地址的唯一性问题 数据包转发的过程 引入 思考 -- 如何跨子网 过程 图解 封装和解包 去掉差异 ip地址/协议的重要…

Nginx正向代理域名的配置

目录 前言 1.打开文件 2. 启用代理 3. 指定代理服务器 4. 保存配置文件并重新加载Nginx。 5. 添加域名解析。 6. 配置客户端。 总结 前言 Nginx是一个高性能、开源的Web服务器软件&#xff0c;不仅可以作为反向代理服务器使用&#xff0c;还可以作为正向代理服务器使用…

IDEA启动项目读取nacos乱码导致启动失败

新安装的2023社区版IDEA,启动项目报错。 forest: interceptors: - com.gdsz.b2b.frontend.api.Interceptors.ApiInterceptor org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1 at org.yaml.snakeyaml.reader.S…

Zabbix(四)

Zabbix Proxy zabbix作为一个分布式监控系统(分布式监控解决方案)&#xff0c;支持通过代理(proxy)收集zabbix agent的监控数据&#xff0c;然后由zabbix proxy再把数据发送给zabbix server&#xff0c;也就是zabbix proxy 可以代替zabbix server收集监控数据&#xff0c;然后…