怎么快速搭建一个节点koa2 ssr项目

  介绍

怎么快速搭建一个节点koa2 ssr项目?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、创键项目

1。创建目录koa2

2。npm init创建包。json,然后执行npm安装

3。通过npm安装高雅安装高雅模块

4。通过npm安装主管安装主管模块,用于节点热启动

5。在根目录下中新建索引。js文件,作为入口文件,内容如下:

const  Koa =,要求(& # 39;洋槐# 39;);,//,Koa 为一个类   const  app =, new 高雅();   ,   app.use (async  (ctx,,下一个),=祝辞,{   ,await  next ();=,ctx.response.body  & # 39;你好,,koa2 ! & # 39;;   });   ,   app.listen(9527年,(),=祝辞,{   ,console.log(& # 39;却;能够server  is  running  at  http://localhost & # 39;, +, 9527)   })

6。配置包

{   ,“name":,“koa"   ,“version":,“1.0.0"   ,“description":““,   ,“main":,“koa.js"   ,“scripts": {   ,“serve":“supervisor  koa.js"   },   ,“author":““,   ,“license":,“ISC"   ,“dependencies": {   ,“koa":“^ 2.7.0",   ,“supervisor":“^ 0.12.0"   ,}   }

7。启动

npm  run 

二,路由配置

cnpm 小姐:koa-router   const  router =, new 路由器();,//,实例化路由      router.get (& # 39;/& # 39;,, async  (ctx,,下一个),=祝辞,{=,ctx.response.body  & # 39; & lt; h6>好家伙& lt;/h6> & # 39;;   });   app.use (router.routes ());

路由参数

//请求地址,www。* * * * */瑞士?=1      router.get (& # 39;/hello/:名字# 39;,,async  (ctx,,下一个),=祝辞,{   ,var  name =, ctx.params.name;,//,获取请求参数,瑞士   ,var 得到=,ctx.query.from;//, 1   ,ctx.response.body =, ' & lt; h6>好家伙,,${名称}! & lt;/h6>”;   });

三,请求

文章

, const  bodyParser =,要求(& # 39;koa-bodyparser& # 39;);   ,app.use (bodyParser ());         router.post(& # 39;/登录# 39;,,async  (ctx,,下一个),=祝辞,{   ,let  name =, ctx.request.body.name;   ,let  password =, ctx.request.body.password;   ,console.log(名,密码);   ,ctx.response.body =, ' & lt; h5>好家伙,,${名称}! & lt;/h5>”;   });

得到

router.get (& # 39;/& # 39;,, async  (ctx,,下一个),=祝辞,{=,ctx.response.body  & # 39; & lt; h5>好家伙& lt;/h5> & # 39;   });

四,html模板

1,好处

使用html模板,将html从js中分离出去,有助于项目开发和管理,而且,html模板在koa2中,必须通过中间件来实现。

2, koa-views + nunjucks实现html模板

, nunjucks.configure(解决(__dirname, & # 39;观点# 39;),,{,autoescape: true });      ,app.use(视图(时间+ __dirname  & # 39;/视图# 39;,,{   ,地图:{,html: & # 39; nunjucks& # 39;,}   ,}));

五、操作静态资源

1,静态资源在开发中的地位

静态资源环境在服务端是十分常用的一种服务,在后台开发中不仅有需要代码处理的业务逻辑请求,也会有很多的静态资源请求。比如请求js, css, jpg, png这些静态资源请求。也非常的多,有些时候还会访问静态资源路径。

2, koa-static-cache实现静态资源操作

app.use (   ,staticCache(解决(“dist"), {   maxAge才能:,365,*,24,*,60,* 60   ,})   )

六、进阶

1,结构

怎么快速搭建一个节点koa2 ssr项目

入口文件(指数。js)

const  Koa =,需要(& # 39;洋槐# 39;)   const  bodyParser =,要求(& # 39;koa-bodyparser& # 39;);   const  staticCache =,要求(& # 39;koa-static-cache& # 39;);   const  views =,要求(& # 39;koa-views& # 39;)   const {解决},=,要求(& # 39;path & # 39;)   const  R =,要求(& # 39;ramda& # 39;)   const  MIDDLEWARES =,(& # 39;路由器# 39;],//中间件配置文件   const  nunjucks =,要求(& # 39;nunjucks& # 39;)   const  logsUtil =,要求(& # 39;. ./跑龙套logs.js& # 39;);//中间件导入,路由导入   const  useMiddlewares =,(应用程序),=祝辞,{   ,R.map (   ,R.compose (   R.forEachObjIndexed才能(   initWith 才能=祝辞,initWith(应用)   ),才能   要求,才能   name 才能=祝辞,解决(__dirname,,’。/中间件)/${名称}')   ,)   ,)(中间件))   }      ;(async (),=祝辞,{   ,const  app =, new 高雅();   ,//view  engine 设置   ,nunjucks.configure(解决(__dirname, & # 39;观点# 39;),,{,autoescape: true });//views  with  nunjucks   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么快速搭建一个节点koa2 ssr项目