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

好的程序员web前端学习教程的NodeJs流程

时间:2023-04-04 00:42:54 Node.js

好的程序员的web前端学习教程的NodeJs流程1、项目准备:  以express框架为例  npmiexpress-generator-g//全局安装express框架  express-e//生成express应用骨架  npmi//安装依赖  npmstart//监听  onport3000扩展:目前最市面上流行的node框架有:  --Sail.js  Sails.js就像是Node.js平台上的Rails框架。这是一个可靠且可扩展的开发框架,具有面向服务的架构,可提供数据驱动的API集合。非常方便开发多人游戏、聊天应用和实时面板参考,也可用于开发企业级Node.js应用。  Sails.js构建于Node.js、Connect、Express和Socket.io之上。  --Koa.js  koa.js是下一代Node.jsWeb框架。由Express团队设计。旨在为Web应用程序和API提供更小、更具表现力、更可靠的开发基础。  Koa可以通过生成器摆脱回调,从而大大改进错误处理。Koa核心不与任何中间件捆绑在一起,但提供了一套优雅的方法,使编写服务器应用程序变得快速而愉快。  2、项目启动  --使用bootstrap完成布局(或者使用bulma前端css框架也很方便)  --将需要复用的widget放在一个文件夹中,这里我新建了一个commjs目录  --在构造函数中加载DOM结构(面向对象的思想)  --模块化所有需要复用的组件,在需要的地方引入,代码复用  3、理解mvc  --Controller控制器:  是应用程序中处理用户交互的部分。  通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据。  功能:根据路由中设置的不同路径,调用controller中对应的方法(函数),  res.body=>获取post请求中传入的参数  res.query=>获取get请求  中数据的业务逻辑基本都在控制层,调用model中对应的函数,将要传入的数据作为参数  --Model  Model(model)是应用程序中用来处理应用程序数据逻辑的部分。  作用:通常模型对象负责访问数据库中的数据。  因为模型中的函数需要在controller中调用,所以最后需要导出模型。在  模型中,与数据库相关的操作需要依赖mogoose包  模型处理数据,通过Promise返回一个promise对象,成功或者失败,然后调用controller传入的成功或者失败函数  控制器res.json返回给前端  --View(视图)  是应用程序中处理数据显示的部分。  通常视图是根据模型数据创建的  4、前端到后端  作为前端,如果我们需要获取后端数据,我们要发送一个ajax请求,如果涉及文件操作,我们必须通过不同的url(在app.js中设置)使用post请求  ,获取不同的数据  view-Controller-Model,根据返回的数据渲染页面  这里是还是MVC模式,所以MVC的流程肯定是要熟悉的。  5、功能  登录:  涉及到对数据库的操作,查询的结果是一个Promise对象,在  控制器中的操作还是一样的东西,传递给controller由前端,成功回调,失败回调  模型中,promise.then()决定调用成功或失败的函数,传递给controller回调,controllerres.json返回给前端信息  需要保存用户登录信息:npmicocookie-session--save  app.js配置cookie-session中间件  检查是否登录:  当前端加载完毕,发送ajax请求,根据响应信息判断是否登录,渲染登录效果  点击退出时,设置req.session为null  **fromData.append("","")添加请求信息  6、关于文件上传  --涉及到文件上传,在服务端引入  multer模块npmimulter--save  --配置文件上传,cv原理,修改终端(路由)中的保存位置和命名规则  --在路由中,在回调函数前添加文件上传方法  router.post('',upload,single('fileuploadformname'),fn)  --controller判断是否有文件上传(res.file)  是否有有用的变量savefilepath=>constfile="/savepathconfiguredin路由/"+req.file.文件名  7、mvc的意思  MVC分层有助于管理复杂的应用程序,因为你可以一次专注于一个方面。例如,您可以专注于视图设计而不依赖业务逻辑。它还使测试应用程序更加容易。  MVC分层也简化了组开发。不同的开发人员可以同时开发视图、控制器逻辑和业务逻辑。  8.总结  Node.js实现了前后端分离。了解了MVC之后,所有的操作都是一步步完成的。前端向后端请求数据,页面只根据请求的数据进行渲染。controller主要负责业务逻辑,model存储数据(mongodb是非关系型数据库,需要转成关系型数据库)。控制器连接显示层和模型。它决定了后端返回什么数据,前端可以获得什么数据。