当前位置: 首页 > 后端技术 > Node.js

分钟了解express

时间:2023-04-03 10:24:35 Node.js

express快速入门Express简介Express是一个基于Node.js平台的快速、开放、极简的Web开发框架。首先希望大家提供一些技术网站http://expressjs.com/http://www.expressjs.com.cn/https://github.com/pugjs/pughttps://pug.bootcss。com/api/g...安装express创建一个新文件夹mkdirmyappcdmyapp通过npminit命令为你的应用程序创建一个package.json文件npminit这个命令会要求你输入几个参数,比如名称和版本应用程序。entrypoint:(index.js)输入app.js或者你想要的名字(推荐app.js),这是当前应用的入口文件。安装Express并将其保存到依赖项列表中。npminstallexpress--save安装成功。Express打印HelloWorld。效果如下。要打印HelloWorld,首先要导入这个模块,然后加强它,然后定义方法,最后需要启动任务//导入模块constexpress=require("express");//实例化varapp=express();//定义方法app.get('/',function(req,res){res.send('HelloWorld!');});//启动appvarserver=app.listen(3000,function(){console.log("启动成功!访问http://localhost:3000");})Express脚手架安装效果图按一个全局的express脚手架npminstallexpress-generator-g在当前工作目录下创建一个名为myapp的应用expressmyappinstallalldependentpackagescdmyappnpminstallstartthisapplication启动这个应用程序(MacOS或Linux平台):DEBUG=myappnpmstartWindows平台使用下面的命令:setDEBUG=myapp&npmstart打开http://localhost:3000/在浏览器中看到此应用程序的URL。接下来说说这次申请的过程。仔细看图就能明白效果了。他是在路由中返回一个索引文件,这个索引文件就是视图中的文件router.get('/',function(req,res,next){res.render('index',{title:'Express1'});});下面是index.ejs文件,这是视图文件。我在安装的时候定义为使用ejs。默认是玉文件><%=title%>

欢迎使用<%=title%>

expressroutes每条路由可以有一个或多个处理器函数,匹配到一个路由时,这个/一些功能将被执行。路由的定义由以下结构组成:app.METHOD(PATH,HANDLER)。其中app为express实例;METHOD是HTTP请求方法之一;PATH是服务器端的路径;HANDLER是路由匹配时需要执行的函数。代码展示了几个路由示例//访问网站首页返回“HelloWorld!”app.get('/',function(req,res){res.send('HelloWorld!');});//网站首页接受POST请求app.post('/',function(req,res){res.send('GotaPOSTrequest');});///user节点接受PUT请求app.put('/user',function(req,res){res.send('GotaPUTrequestat/user');});///user节点接受DELETE请求app.delete('/user',function(req,res){res.send('GotaDELETErequestat/user');});我自己定义了一条新路线(看图就可以)。作用是为order.js定义一个路由文件varexpress=require('express');varrouter=express.Router();/*GET首页。*/router.get('/',function(req,res,next){res.render('order',{msg:'Orderhomepage'});});//exportmodule.exports=router;需要在app.js中添加路由调用varorder=require('./routes/order');app.use('/order',order);需要新建一个order.els视图页面<%=味精%><正文>

<%=味精%>

这是我做的<%=msg%>

expressstaticfilesettings静态文件就是图片,css,js等静态文件在文件express中是公开的,并在app.js中定义app.use(express.static(path.join(__dirname,'public')));中间件什么是中间件中间件(Middleware)是一个函数,可以访问请求对象(requestobject(req))、响应对象(responseobject(res)),以及web应用中请求-响应循环过程中的中间件,一般命名为next变量中间件的功能包括执行任何代码。修改请求和响应对象。结束请求-响应循环。调用堆栈中的下一个中间件。Express应用可以使用以下几种中间件应用级中间件路由级中间件错误处理中间件内置中间件第三方中间件说说这几类中间件的用法应用级中间件应用级中间件是app绑定的objectUseapp.use()andapp.METHOD()varapp=express();//没有挂载路径的中间件,应用的每一个请求都会执行中间件app.use(function(req,res,next){console.log('时间:',Date.now());next();});路由中间件路由级中间件和应用级中间件一样,只是它绑定的对象是路由上的express.Router()varrouter=express.Router();//没有中间件挂载路径,通过这条路由的每个请求都会执行中间件router.use(function(req,res,next){console.log('Time:',Date.now());next();});记得根据需要使用中间件,是否写next();如果需要执行下面的代码,一定要写,否则会挂掉,不执行下面的代码,这个next()就不一一介绍了。这两个是常用的。其他可以参考说明书。进程管理器每次改代码都要重启服务,所以不允许使用进程管理器。改完代码后,刷新浏览器看看。我选择了一个叫pm2的进程管理器来安装npminstallpm2-g启动pm2start./bin/www--watch列出所有正在运行的进程pm2liststopapplicationpm2stop0restartapplicationpm2restart0查看应用程序pm2的详细信息显示0从pm2注册表中删除应用程序pm2删除0通常用于启动和删除应用程序。我不得不在这里说再见了。一个简单的快递申请就完成了。你学会了吗???喜欢就点赞收藏