Node.js日记:客户端和服务端介绍、Node.js介绍

简介: Node.js日记:客户端和服务端介绍、Node.js介绍

Express 是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架 ,用来快速搭建Web服务。
Express 是一个第三方模块,有丰富的 API 支持,强大而灵活的中间件特性。
Express 不对 Node.js已有的特性进行二次抽象,只是在它之上扩展了 Web 应用所需的基本功能
本质是使用各种中间件,快速的搭建服务。
1.安装
使用 npm init 命令为应用程序创建 package.json 文件。
npm init -y(如果文件夹的名字是中文可以直接输入‘npm init’,手动输入name)

做项目时可以直接复制 package.json 文件然后npm install,按照package.json里记录的内容进行安装。

安装install
npm install express

注意:

项目目录名字不要取中文,也不要取express ,package.json 文件里的name也不要取express

如果安装不成功

换个网络环境

运行下npm cache clean -f,再重装试试

2.使用
注意:http模块下响应结束的标志是res.end(),而express框架下响应结束的标志是res.send()。

// 0. 加载 Express
const express = require('express')

// 1. 调用 express() 得到一个 app
// 类似于 http.createServer()
const app = express()

// 2. 设置请求对应的处理函数
// 当客户端以 GET 方法请求 / 的时候就会调用第二个参数:请求处理函数
//相当于sever.on监听get方法
app.get('/', (req, res) => {
res.send('hello world')
})

// 3. 监听端口号,启动 Web 服务
app.listen(3000,()=>{
console.log('running');
})

app.get('/')相当于添加个事件监听:当用户以get方式求"/"时,它后面的回调函数会执行,其回调函数中的req,res与前面所学http模块保持一致。

res.send()是exprss提供的方法,不是nodejs提供的 ,用于结束本次请求。类似的还有res.json(),res.sendFile() 。

3.express下的art-template:
安装
npm i express-art-template

使用
前提是需要先引入express框架。

app.engine('html', require('express-art-template'))//把express-art-template相应内容引入到express框架下,应用于html类文件。

引入express-art-template就可以使用render的方式渲染页面了,但是在express框架下不需要用对象去接收【var str=tempalte.render('',{});res,end(str)】,而是直接集成在response上,直接【res.render】

4.托管静态资源
让用户直接访问静态资源是一个web服务器最基本的功能。

静态资源:不是动态进行更改的。
图片:http://localhost:3000/1.png
CSS样式:http://localhost:3000/css/style.css
静态JS:http://localhost:3000/js/index.js

4.1限制前缀
通过限制前缀的方式来决定web服务上的路径是否开放,把可以随便访问的静态文件放在开放的路径下,而需要受保护的文件放在不开放的路径下,想通过前端的请求请求不到,只有服务器响应给对方的情况下才能拿到。

// 限制访问前缀(前端的请求) static静态(托管的是服务端的一个文件夹路径)
app.use('/public', express.static('public'))

这意味着想要访问public下的内容,必须要在请求url中加上/public

4.2post接口
利用post请求获取数据的时候需要利用中间件

4.3中间件
当使用post请求,需要利用中间件获取post请求提交的数据,中间件是一个特殊的url地址处理函数。

body-parser

安装:

npm i body-parser

引入:

var bodyParser=require('body-parser')

app.use(bodyParser.urlencoded({extended:false}))

app.use(bodyParser.json())

ps:使用中间件后req上会有一个body属性,req.body是键值对的形式,可以拿到前端请求的数据 。

4.4利用Express框架搭建留言板
引入express,express-art-template,body-parser

var express = require('express')
var app = express()
//利用post接口需要引入中间件
var bodyParser=require('body-parser')
var arr = [
{
name: 'aa',
content: 'bbb',
timer: '2018-11-2 17:11:22'
},
{
name: 'bbb',
content: 'cccc',
timer: '2028-11-2 17:11:22'
}
]
//静态托管 限制前缀(限制的是请求端的)
app.use('/public', express.static

相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
51 1
|
28天前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
52 9
|
2月前
|
JavaScript 前端开发 中间件
JS服务端技术—Node.js知识点
本文介绍了Node.js中的几个重要模块,包括NPM、Buffer、fs模块、path模块、express模块、http模块以及mysql模块。每部分不仅提供了基础概念,还推荐了相关博文供深入学习。特别强调了express模块的使用,包括响应相关函数、中间件、Router和请求体数据解析等内容。文章还讨论了静态资源无法访问的问题及其解决方案,并总结了一些通用设置。适合Node.js初学者参考学习。
50 1
|
2月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
3天前
|
JavaScript
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
nodejs安装之npm ERR! code CERT_HAS_EXPIREDnpm ERR! errno CERT_HAS_EXPIRED reason: certificate has expired-证书错误通用问题解决方案-优雅草央千澈
|
2月前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
37 2
2024年5月node.js安装(winmac系统)保姆级教程
|
2月前
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
115 2
|
4月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
3月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
50 2