node.js三个步骤实现一个服务器及Express包使用

目录
  • 用http 模块写一个简单的web服务器
  • 常见的几种文件类型及content-type
  • Express基本介绍
  • Express使用

用http 模块写一个简单的web服务器

第一步:新建一个文件,名为  d:/src/http.js( 文件名及路径名可以自行设置,建议均不使用中文字符), 内容如下

// 1. 引入http模块
const http = require('http');
// 2. 创建服务
const server = http.createServer(function(req, res) {
//输入请求头后end才可以返回中文,不然会乱码
res.setHeader('content-type', 'text/html;charset=utf8')
  // 向客户端发送内容,并结束本次响应
  res.end('I wanted to see how far I could go');
});
// 3. 启动服务
server.listen(8081, function() {
  console.log('服务器启动成功,请在http://localhost:8081中访问....');
});

第二步:运行js代码,启动服务。

在小黑窗中进入到01http.js所在的目录,键入命令 node 01http.js,此时会弹出一个小黑窗,不要关。

第三步:测试功能

打开一个浏览器页面,输入地址:http://localhost:8081,观察效果:

  • 浏览器中的效果
  • 小黑窗中的效果

停止服务:ctrl + c

注意:

  • 小黑窗不要关,它就是服务器
  • 服务器本身不会有主动行为(小黑窗看起来没有任何变化),它在时刻等待客户端的访问
  • 不要用鼠标选中小黑窗的内容,会导致程序假死
  • 修改代码后要重启
    • 更改res.end()的内容,重启后,再次观察。
    • 重启服务:就是重新运行程序(按下向上的箭头,再回车)。

代码用图表示:

常见的几种文件类型及content-type

  • .html:res.setHeader('content-type', 'text/html;charset=utf8')
  • .css:res.setHeader('content-type', 'text/css;charset=utf8')
  • .js:res.setHeader('content-type', 'application/javascript')
  • .png:res.setHeader('content-type', 'image/png')
  • json数据:res.setHeader('content-type', 'application/json;charset=utf-8')

其它类型,参考这里

Express基本介绍

Express 是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架。

  • 框架:是一个半成品,用来快速解决一类问题;库就是工具集,使用非常灵活) (框架有:bootstrap, lay-ui, express, vue, react ; 库:zepto.js , jQuery,  day.js, underscore, lodash, art-template, axios, echart.....)
  • web 开发: 对不同的请求能够显示页面;提供接口服务;

理解:

  • 我们前面用http模块来支持web服务,现在要用express来写web服务
  • 对于node.js来说,Express 是一个第三方模块,有丰富的 API 支持,强大而灵活的中间件特性

Express使用

  • 创建一个全新的文件夹,假设名字为 new-express(目录名不要有汉字,也不要某个包的名字),在此目录下运行npm init -y 命令来生成package.json文件
  • 与安装其他的第三方包一致,本地安装 npm i express
  • 在项目根目录下新建一个js文件,例如app.js,其中输入代码如下:
// 0. 加载 Express
const express = require('express')
// 1. 调用 express() 得到一个 app
const app = express()
//静态资源委托
app.use(express.static('public'))
// 3. 监听端口号,启动 Web 服务
app.listen(3000, () => console.log('app listening on port 3000!'))

public是我自己创建的一个文件夹,什么html,js,css,img之类的可以全丢里面.运行的时候需要资源会自动去public文件夹里翻找.具体使用请查文档吧

到此这篇关于node.js三个步骤实现一个服务器及Express包使用的文章就介绍到这了,更多相关node.js服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解本地Vue项目请求本地Node.js服务器的配置方法

    目录 1.使用vue-cli脚手架搭建vue项目 2.使用koa搭建node后端 3.Vue项目中添加后端请求 参考资料: 前言:本文只针对自己需要本地模拟接口于是搭建一个本地node服务器供自己测试使用,仅作自己从头到尾搭建项目的记录 1.使用vue-cli脚手架搭建vue项目 1.在桌面运行 cmd,使用命令vue create demo创建一个vue项目demo,插件依赖等使用默认配置2.项目创建成功之后,使用命令 cd demo,进入 demo 文件夹,然后使用命令 npm run se

  • node.js+postman实现模拟HTTP服务器与客户端交互

    目录 一.node搭建HTTP服务器 二.HTTP服务器处理get请求 1.postman发送get请求 2.服务器解析 三.HTTP服务器处理post请求 1.postman发送post请求 2.服务器解析 当应用程序(客户端)需要某一个资源时,可以向一台服务器通过http请求获取到这个资源.提供资源的服务器就是web服务器(本文用node.js创建),用postman模拟客户端向服务器发送请求. 一.node搭建HTTP服务器 node中使用 http 模块来创建 HTTP 服务器, 每当接

  • angular2+node.js express打包部署的实战

    Angular2我自己还在摸索学习中,本文介绍了angular2+node.js express打包部署的实战,分享给大家,也给自己留个笔记 angular是客户端js,Node.js 是服务端JS,建立SPA 网站需要把这两者统一到一起. 1.angular2项目创建,使用angular-cli ng new mypos 2.使用express命令行工具创建express项目. express --view=hbs 3.angular2 中 需要引用到第三方库 例如 jQuery,bootst

  • 详解node.js平台下Express的session与cookie模块包的配置

    首先下载两个模块包 session模块包:用于保持登录状态或保持会话状态等. npm install express-session --save-dev cookie模块包:用于解析cookie. npm install cookie-parser --save-dev 接着在app.js(我在node.js的配置中提到的,也就是服务器主文件)中配置: var session = require("express-session"); var cookie = require(&qu

  • 使用NODE.JS创建一个WEBSERVER(服务器)的步骤

    目录 什么是 nodejs 安装nodejs 如何使用node创建hello world? 如何使用nodejs读写文件 使用nodejs创建web服务器 如何根据不同的请求路径返回不同数据 将数据响应到前端 什么是 nodejs Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动.非阻塞式I/O模型, 让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP.Python.

  • CentOS 8.2服务器上安装最新版Node.js的方法

    Node.js是一个开源JavaScript运行时环境.在这里,您将学习如何在CentOS 8服务器上安装Node.js. 什么是Node.js? Node.js是一个开放源代码,跨平台的后端JavaScript运行时环境,可在Web浏览器外部执行JavaScript代码.Node.js使开发人员可以使用JavaScript编写命令行工具并进行服务器端脚本编写,即在服务器端运行脚本以在将页面发送到用户的Web浏览器之前生成动态网页内容.因此,Node.js代表了一个" JavaScript无处不

  • node.js三个步骤实现一个服务器及Express包使用

    目录 用http 模块写一个简单的web服务器 常见的几种文件类型及content-type Express基本介绍 Express使用 用http 模块写一个简单的web服务器 第一步:新建一个文件,名为  d:/src/http.js( 文件名及路径名可以自行设置,建议均不使用中文字符), 内容如下 // 1. 引入http模块 const http = require('http'); // 2. 创建服务 const server = http.createServer(function

  • node.js 核心http模块,起一个服务器,返回一个页面的实例

    如下所示: let http=require("http"); //引入核心http模块 let fs=require("fs"); let mime={ '.js':'application/javascript', '.css':'text/css' } //创建一个函数,req代表客户端,res代表服务器可写流 let listener=(req,res)=>{ //res是可写流,有write和end if(req.url==="/"

  • 基于Node.js的http模块搭建HTTP服务器

    目录 http 模块 代码剖析 request 解析 URL 解析 请求体解析 response 设置 发送 http 请求 GET POST 诡异之处 当你第一次接触工程化的项目时,看到项目控制台正在 building,过一会突然跳出一个 URL 地址,你点开它居然是你刚写好的网页,好神奇. 当你接后端同伴的接口时,你把数据带去,接口竟然给你返回 500 错误:你去找后端,后端说这样传不行,你不知道为啥不行,反正按照他说的改完,返回 200 成功了. 有时候你的请求莫名其妙的就跨域了,后端说让

  • 使用node.js实现接口步骤详细记录

    1.安装node环境,下载地址:下载 | Node.js 中文网  或者点击这里 2.创建一个文件夹放node项目,如api_event: 3.项目初始化:在新建的文件夹下执行  npm i ,会自动生成package.json文件: 4.安装express:npm i express@4.17.1 5.在项目中新建文件夹index.js来创建服务器,如下所示: // 1.导入express const express = require('express'); // 2.创建服务器的实例对象

  • Node.js实战 建立简单的Web服务器

    前面一章,我们介绍了Node.js这个面向互联网服务的JavaScript服务器平台,同时Node.js的运行环境已经搭建起来,并通过两段HelloWorld程序验证了Node.js的基本功能.本章我们同样通过实战的演练,利用Node.js建立一个简单的Web服务器. 如果你熟悉.NET或其他类似平台的Web开发,你可能会像,建立一个Web服务器有什么,在Visual Studio中建立一个Web工程,点击运行即可.事实的确是这样,但请不要忘记,这样的代价是,比如果说,你是用.NET开发Web应

  • 详解把Node.js项目部署到阿里云服务器(CentOs)

    最近用node.js开发了一个web项目,开发完打算先部署到我自己买的阿里云学生服务器上,让客户先试用下网站.不知道如何把node.js项目部署到阿里云服务器,在问了飞哥哥之后,在网上找了下教程,部署成功.把教程整合了一下,做下分享. 服务器 服务器选择了阿里云学生服务器:9.92一个月,适合用来个人开发测试. 配置: 系统:CentOS6.5 64位(Linux系统的一种) 配置环境配置服务器环境 1.在阿里云管理控制台把云服务器实例启动 2.登入服务器:用Putty 或 Xshell(我使用

  • 关于Node.js中频繁修改代码重启服务器的问题

    我们可以使用一个第三方命名行工具,nodemon 来帮我们解决频繁修改代码重启服务器问题. nodemon 是一个基于 Node.js 开发的第三方命令行工具,我们使用的时候需要独立安装. (1)安装 安装命令如下: # 在任意目录执行该命令都可以 # 也就是说,所有需要 --global 来安装的包都可以在任意目录下执行 npm install --global nodemon 例如:我在cmd命令行当前目录下输入npm install --global nodemon 怎么检查安装成功:使用

  • vscode 调试 node.js的方法步骤

    引言 作为前端工程师经常打交道的开发工具无非 IDE 编辑器 和 Chrome,在 Chrome 中调试是非常方便的,直接在 开发者工具的 source 栏打断点就可以了.那么,如果遇到需要写 node 相关的代码,比如 webpack 配置项,应该怎么调试来实现我们的需求呢? VS Code 配置 在 VS Code 中单独有 debug 的菜单,需要指定 launch.json 文件,该文件为 VS Code 提供启动调试所需的各项配置. // launch.json // 使用 Intel

  • Node.js学习教程之HTTP/2服务器推送【译】

    前言 最近Node.js v8.4+版本发布带来了体验版的HTTP/2,你可以自己通过设置参数--expose-http2启动. 这篇文章,我将介绍HTTP/2最重要的一方面服务器推送并且创建一个小的Node.js程序案例来使用它.下面话不多说了,来一起看看详细的介绍吧. 关于HTTP/2 HTTP/2 的目的是通过支持完整的请求与响应复用来减少延迟,通过有效压缩 HTTP 标头字段将协议开销降至最低,同时增加对请求优先级和服务器推送的支持. 更多关于HTTP/2内容,请查看文章HTTP/2.

  • Node.js如何优雅的封装一个实用函数的npm包的方法

    为什么要封装一个实用函数的 npm 包? 当你连续写了多个 Node 应用, 都想要 console 漂亮一点, 你可能会像下面这样封装一个函数 import chalk from "chalk"; function noop(msg: string): string { return msg } function log(fn: Function): (msg: string) => void { return (msg: string): void => { conso

随机推荐