前端小白,想问一些前后端分离问题

看了一些前后端分离的文章,有些疑惑还需请教:

1.前后端分离项目前端本地localhost的情况下怎们获取后端接口来调试?
2.前后端分离项目都是spa吗?多页面的情况怎么办?
3.前端页面完成后打包交给后端就好了吗?
4.部分文章看到使用handlebars,使用是在node作为中间层的情况下吗?
他和vue的{{}}的插值有什么不同吗,如果相同的话为什么要使用handlebars

阅读 3.6k
4 个回答
  1. 通过http获取接口数据如axios,本地localhost要和后端配合允许跨域请求访问,如果是开发阶段通过接口定义做mock
  2. 不一定要spa,前后端分离相当于前端资源文件单独发布成静态资源服务(做服务端渲染除外),多页面通过链接地址跳转(但还是建议spa,当一个完整项目处理,而不是一个个页面)。
  3. 前端打包完成后自己发布就是了(如果有运维给运维),如nginx
  4. handlebars不太了解,查了下是模板引擎,跟vue不一样,{{}}常常作为参数替换的一种约定。(由于对handlebars不了解,剩下关于handlebars的问题不做评价)
新手上路,请多包涵

本来是java初学者 没想到来了公司要学习vue,前后端都要开发,目前做了好几个项目都是单页面的 还没有涉及到多页面,所以只能回答部分问题,
1.获取后端接口 ,要么是提前约定好接口路径,要么找后端开发要接口路径,然后通过axios进行访问;前端开发完成后一般要和后端开发进行联调,确定没有bug后,然后将前后端编译好部署到服务器上进行测试,至于你说的handlebars没接触过,目前开发用到的只有v-moudel和{{}},前者是双向绑定,后者是单向绑定

前后端完全分离,是指代码逻辑的完全分离,相互之间只通过接口交互。这种状态的前端项目,实际上就是一堆静态资源。

  1. 接口通过XmlHttpRequest或者fetch请求后台,同很久之前ajax技术。
  2. 不一定是spa,spa只是为了方便开发管理app的状态,优化用户的体验。多页面的话就写多个html即可。如果使用的是webpack做工程化的话,就多加几个entry入口。
  3. 前端页面单独部署到服务即可,不需要跟后台项目交互。
  4. 由于node.js的出现,前端从原来的刀耕火种开始急速的进化。原来写页面得写html,现在因为前后分离了,我们只要保证上线的代码是编译过的html,js即可。这意味着开发阶段你想怎么玩就玩,无非就是预编译的时候做多点事情而已。Mustache , pug, Handlebars 都属于模板引擎。你可以按照他们的语法写页面,然后编译成html。至于vue和他们完全不一样哈。
  5. 模板引擎的插值毫无疑问没有MV*框架的模板语言强大,当然这意味着你得引入vue一系列的周边。

1.这个问题分开来回答:
(1)如果你本地的前端工程是跑在后端服务中的(java),那你直接调用http请求就可以了
(2)如果前后端是完全分离的,那你本地需要自己起个服务(nodejs,webpack-dev-sever,express),请求到后端同事的接口,有时需要解决跨域的问题。
2.前后端分离的项目,不都是spa,如果是SPA单页面应用,是通过管理路由来切换页面;
3.这个问题实际上问的是打包部署的问题,这就涉及到部署工作由谁来做,这个工作谁来做不是主要的,但是作为前端要知道你打包好的工程是怎样部署到服务器的(linux,windows),开发环境和生产环境到底有什么区别。
4.Handlebars 是 JavaScript 一个语义模板库,通过对view和data的分离来快速构建Web模板。
而vue的{{}}的插值也是一个语义模板,但是vue内部还实现了双向绑定,不是一个概念,只是用法类似。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题