精华内容
下载资源
问答
  • node做中间层

    千次阅读 2019-01-31 18:14:34
    一、为什么用node做中间层? 后端出于性能和别的原因,提供的接口所返回的数据也许不适合前端直接使用。前端所需的排序功能、筛选功能,以及到了视图层的页面展现,也许都需要对接口的所提供的数据进行二次处理。...

    一、为什么用node做中间层?

    后端出于性能和别的原因,提供的接口所返回的数据也许不适合前端直接使用。前端所需的排序功能、筛选功能,以及到了视图层的页面展现,也许都需要对接口的所提供的数据进行二次处理。这些处理虽可以放在前端来进行,但也许数据量一大便会浪费浏览器性能。因而至今,曾加node端便是一种良好的解决方案。

    很多项目中后端应用往往不止一个服务,而是一群各司其职的服务,比如nginx的存在就是因为服务器上运行着多个服务,而不同的网络请求由不同的服务处理,需要在这些服务前假设一层nginx做为代理,将请求分发给不同的服务,nginx在这里的角色就相当于中间层。

    对于一个比较复杂的web站点,页面中的请求通常分为两种,请求页面与请求数据(ajax)。如果后端是个单体应用,当发现所有请求量太多应付不过来的时候就可以考虑做这样的分离,将处理页面渲染的请求分给另一个服务,挡在前面,自己只负责数据相关的请求。nodejs擅长处理io密集型任务,很适合做处理页面渲染的服务,于是很多人选择了nodejs。淘宝也是类似的架构,据说现在所有淘宝的页面都是由node服务渲染的。

    二、vue-cli3.0安装配置

    1、vue-cli3.0安装

    npm install -g @vue/cli
    vue create my-vue //创建项目
    

    2、第一个是默认配置,一般选第二个,自己配置,这里选择最后一个

    3、选择哪一个,按空格键确定,所有的都选择好后,按enter键进行下一步,这里

    4、下一步之后问询问你安装哪一种 CSS 预处理语言,你随意选择,我是一直用的less

    5、下面这个是问你选择哪个自动化代码格式化检测,配合vscode编辑器的 Prettier - Code formatter插件,我选的随后一个

    6、第一个是:放独立文件放置   第二个是:放package.json里 这里推荐放单独配置文件

    7、 修改vue.config.js:打包文件到指定位置

    三、express框架搭建(也可以用koa2)

    1、安装express框架

    1、安装node
    
    2、安装express:npm install -g express
    
    3、安装npm install -g express-generator
    
    4、创建一个express工程:express helloworld
    
    5、进入项目主目录:cd helloworld
    
    6、安装必备包:npm install
    
    7、启动express程序:npm start

    2、修改node-express里面的app.js 

     

    3、设置node允许跨越:https://blog.csdn.net/lbPro0412/article/details/84767678

     4、项目打包完 =》启动node 刷新页面出现404  解决方法:https://blog.csdn.net/lbPro0412/article/details/82501440

    四:vue配置环境变量

    1、

    2、

    3、运行命令 npm run build -- test  运行结果

    4、获取环境变量的值

    注意:

    (1)在项目中,也就是src中使用环境变量的话,必须以VUE_APP_开头,见.env.test文件

    (2)新建的文件.env.test文件必须有NODE_ENV="production",否则打包的文件名字没有hash值

    本地启动命令也能配置环境变量:

    五、配置node服务端环境变量,这里借助的事pm2

    1、运行命令:pm2 delete mypractice.json && pm2 start mypractice.json --env test 

    2、环境变量获取:

    打印:

     

    3、这里使用request去请求接口,然后返回给客户端

    如果不封装方法,可参考:https://blog.csdn.net/lbPro0412/article/details/82285841

    如果封装方法,见下面:

    调用:

    注意:

    get请求获取参数是req.query

    post请求获取参数是req.body

    项目地址:https://github.com/binliuli/node_vue

    仅供参考,有问题欢迎指出。。。。。

    展开全文
  • 使用node做中间层转发请求

    千次阅读 2018-11-12 22:59:00
    const request = require('request')// 使用前npm i request express const express = require('express') const app = express() var options = { url: 'url', method: 'POST', headers: { ...
    
    const request = require('request')// 使用前npm i request express
    const express = require('express')
    const app = express()
    var options = {
    	url: 'url',
    	method: 'POST',
    	headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Host': 'www.baidu.com',//域名,这里是关键,如果服务器设置了HTTP_ORIGIN(只允许本站页面访问),就把这里设置为服务器根域名
        'Origin': 'http://www.baidu.com'//域名,这里是关键,如果服务器设置了HTTP_ORIGIN(只允许本站页面访问),就把这里设置为服务器根域名
       // 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36',
        //'X-Requested-With': 'XMLHttpRequest'
      }
    }
    
    app.all('*', function(req, res, next) {
        res.header("Access-Control-Allow-Origin", "*")
        res.header("Access-Control-Allow-Headers", "X-Requested-With")
        res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS")
        res.header("X-Powered-By",' 3.2.1')
        res.header("Content-Type", "application/json;charset=utf-8")
        next()
    })
    app.use('/', function (req, res) {
      request(options, function (error, response, body) {
        console.log(JSON.parse(body))
        res.send(body)
      })
    }).listen(3000, function () {
      console.log('server runing')
    })
    
    展开全文
  • 为什么用node做中间层 后端出于性能和别的原因,提供的接口所返回的数据也许不适合前端直接使用。前端所需的排序功能、筛选功能,以及到了视图层的页面展现,也许都需要对接口的所提供的数据进行二次处理。这些...

    一、什么是服务端渲染

    客户端渲染路线:

    1. 请求一个html

    2. 服务端返回一个html  

    3. 浏览器下载html里面的js/css文件

    4. 等待js文件下载完成

    5. 等待js加载并初始化完成

     6. js代码终于可以运行,由js代码向后端请求数据( ajax/fetch )

    7. 等待后端数据返回

    8. dom( 客户端 )从无到完整地,把数据渲染为响应页面

    服务端渲染路线:

    1. 请求一个html

    2. 服务端请求数据( 内网请求快 )

    3. 服务器初始渲染(服务端性能好,较快)

    4. 服务端返回已经有正确内容的页面

    5. 客户端请求js/css文件

    6. 等待js文件下载完成

    7. 等待js加载并初始化完成

     8. ( 客户端 )把剩下一部分渲染完成( 内容小,渲染快 )

    时间耗时比较:

    1. 数据请求:由服务端请求数据而不是客户端请求数据,这是“快”的一个主要原因。服务端在内网进行请求,数据响应速度快。客户端在不同网络环境进行数据请求,且外网http请求开销大,导致时间差(主要原因)。

    2. 步骤:服务端是先请求数据然后渲染“可视”部分,而客户端是等待js代码下载、加载完成再请求数据、渲染。即:服务端渲染不用等待js代码下载完成再请求数据,并会返回一个已经有内容的页面。

    3. 渲染性能:服务端性能比客户端高,渲染速度快( 猜测,该项数据不详 )。

    4. 渲染内容:服务端渲染会把”可视“部分先渲染,然后交给客户端再作部分渲染。而客户端渲染,则是从无到有,需要经历完整的渲染步骤。 

    vue服务端渲染:

    1、https://ssr.vuejs.org/

    2、Nuxt.js

    从头搭建一个服务端渲染的应用是相当复杂的。幸运的是,我们有一个优秀的社区项目 Nuxt.js 让这一切变得非常简单。Nuxt 是一个基于 Vue 生态的更高层的框架,为开发服务端渲染的 Vue 应用提供了极其便利的开发体验。更酷的是,你甚至可以用它来做为静态站生成器。推荐尝试。

    二、为什么用node做中间层

    后端出于性能和别的原因,提供的接口所返回的数据也许不适合前端直接使用。前端所需的排序功能、筛选功能,以及到了视图层的页面展现,也许都需要对接口的所提供的数据进行二次处理。这些处理虽可以放在前端来进行,但也许数据量一大便会浪费浏览器性能。因而至今,曾加node端便是一种良好的解决方案。

    很多项目中后端应用往往不止一个服务,而是一群各司其职的服务,比如nginx的存在就是因为服务器上运行着多个服务,而不同的网络请求由不同的服务处理,需要在这些服务前假设一层nginx做为代理,将请求分发给不同的服务,nginx在这里的角色就相当于中间层

    对于一个比较复杂的web站点,页面中的请求通常分为两种,请求页面与请求数据(ajax)。如果后端是个单体应用,当发现所有请求量太多应付不过来的时候就可以考虑做这样的分离将处理页面渲染的请求分给另一个服务,挡在前面,自己只负责数据相关的请求nodejs擅长处理io密集型任务,很适合做处理页面渲染的服务,于是很多人选择了nodejs。淘宝也是类似的架构,据说现在所有淘宝的页面都是由node服务渲染的。

    展开全文
  • 随着大前端时代的来临,node在前段开发的过程中占据了越来越重要的地位,近期接受了一个项目,恰好是node做中间层模式开发的,趁此机会我也对node做中间层有了更深层次的理解,这里记录一下在这个项目中node.js...

    前言

    随着大前端时代的来临,node在前段开发的过程中占据了越来越重要的地位,近期接受了一个项目,恰好是node做中间层模式开发的,趁此机会我也对node做中间层有了更深层次的理解,这里记录一下在这个项目中node.js做中间层的开发流程。

    项目所用到的技术栈

    1. node
    2. express
    3. ejs
    4. react

    为了解决的问题

    1. 服务端渲染
    2. 整合接口数据成前端所需要的格式

    模式

    1. 模板渲染(ejs)
    2. 多页面应用

    开发流程

    1. node调取后端接口数据,返回给对应的页面模板
    2. 在页面模板(html)内将数据挂载到window上
    3. 多页面应用的每个页面用react开发,组件从window.data取值
    4. 在子组件里需要更新数据的时候又去触发node的方法调取接口

    后记

    这是我的项目用到node中间层开发时的一个特别粗略的流程,没有什么实质的内容,希望能给努力的你一点点灵感。 我认为开发流程中重要的两点是: 1.将值挂载到window上来传值。 2.node如何跟它的ejs模板、及react组件如何触发node去调接口。

    转载于:https://juejin.im/post/5be14ba1f265da61542d1802

    展开全文
  • node中间层数据流向 http --> node.router --> node.controller --> node.service --> java接口
  • node中间层

    2018-05-03 15:27:46
    Node中间层的作用 随着项目的渐增,调用后台的接口的频率渐增,而页面的不一致需要不一样的数据结构 后台如果根据页面去设计接口的话是很不灵活,所以这时候就出现了node层的出现   适配pc和移动端的数据...
  • node作为中间层进行前后端分离

    千次阅读 2017-10-15 21:11:49
    Node中间层做前后端分离 1. 前后端分离的定义 就是前端代码,和后端后端分开嘛。 2. 啊,怎么分开,那我直接cx把前端代码弄走吗? 咦,请求不了了, XMLHttpRequest cannot load ...
  • vue+node实现中间层同步调用接口

    千次阅读 2019-07-31 21:52:57
    为了应对业务的复杂性,提高前端的渲染能力,故在项目中引入nodejs做中间层,前端承接vue,后端对接Java。 至于为什么这么搞,网上有好多文章都在讨论,可以说仁者见仁智者见智,这里我们不在深究。 这里主要记录...
  • 前端所需的 排序功能、 筛选功能 ,以及到了视图的 页面展现 ,也许都需要 对接口 所提供的 数据进行二次处理 。这些处理虽可以放在前端来进行,但也许数据量一大便会浪费浏览器性能。因而现今,增加node端便是一...
  • node作为中间层的一些看法

    千次阅读 2017-11-24 11:13:29
    我之前多个项目的场景,前端渲染交给node,前端团队自己负责整个前端的发布构建,整个工作流使用gulp或者webpack搭建起来。业务团队是典型的java后端,他们有自己成熟的架构,node服务器通过thrift来rpc调用。...
  • 由于最近项目上的原因,公司采用了node中间层,通过它来担当前端和真正意义上的后端之间的中转纽带。原因是我参与的这个项目是一个大型的云计算控制台,里面所涉及到的接口可谓是“鱼龙混杂”,有自己部门开发的接口...
  • 中间层node

    2018-09-20 19:03:13
    在很多大公司的架构里,node都是作为中间层,主要负责下面几种任务: 1.中转一些请求,串接服务;同时也过滤一些基本的io请求 2.前端项目路由的相关业务处理 3.渲染前端模板(vue\react首屏) 3负责架构中部分专门...
  • vue项目node中间层脚手架

    千次阅读 2018-10-27 22:01:59
    直接去git拉取脚手架即可,支持pm2启动。目前仅支持转发一个域名,后续会不断完善,喜欢的给个star啦~ 有疑问的可以在评论区留言~ 脚手架地址:https://github.com/BadMooncc/vue-server-middle...
  • node.js做中间层调用java接口

    千次阅读 2019-09-19 17:37:15
    今天就遇到了这个问题 vue 调用java接口 前后端分离 造成跨域请求 后端迟迟不解决 我便直接用nodejs反向代理java ...这样子的话 你前端只需要调用你的node接口 你的node接口调用后端java接口 
  • 使用Node作为Web中间层的优势: 1、功能分离,减轻板块负担 2、跨系统、跨终端均可重用页面数据校验、逻辑代码,无需因为新系统、终端的接入而重写校验; 3、只在中间件中一次数据校验,避免了前端数据校验的...
  • 因为中间层服务3001端口和这里的服务的端口4000不一样,也不用解决跨域,因为服务器之前不存在跨域 app.get('/api/search',function(req,res){ res.json({ errno:0, data:{ test:333 } }) }) let server = ...
  • 为什么选择node中间层 文章节选自【探索】NodeJS中间层搭建 现用的开发模式适用场景 以后端的为主的MVC模式 在实现一些同步展现的业务效率很高 但是遇到异步同步结合的页面 在与后端沟通就会显得相对麻烦一些 ajax...
  • (一)什么是中间层 中间层(Middle Tier)也称作 应用程序服务器层 或应用服务层,是用户接口或 Web 客户端 与 数据库 之间的逻辑层。 (二)图解 中间层简单说就是在 客户端 和 服务端 之间架起来的一层。 ...
  • 服务器端渲染(SSR)与 node 中间层 1. 什么时候需要“服务器端渲染或 node 中间层” 在前后端分离之后,后端语言的模板功能被弱化,整个页面的渲染基本上都由前端 js 动态渲染,但这样对于一些应用来说是有缺陷...
  • 简述node中间层的优势 node中间层,可以解决前端的跨域问题,因为服务器端的请求是不涉及跨域的,跨域是浏览器的同源策略导致的,关于跨域可以查看跨域复习使用node坐中间层,方便前后端分离,后端只需要提供数据...
  • Node.js作为中间层的前后端分离

    千次阅读 2017-06-17 16:17:00
    Node.js作为中间层的前后端分离 现今,许多公司的老项目都存在这样一些问题: * 前端代码越来越复杂 * 前后端依旧高度耦合 * 无法良好的支持跨终端 解决方案: * 前端代码越来越复杂,我们希望尽可能地减少工作量,...
  • node作为中间服务如何发送请求

    千次阅读 2017-05-08 16:44:13
    GET请求: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
  • 为什么要用nodejs做中间层

    千次阅读 2018-08-01 09:56:46
    为什么要用nodejs做中间层 后端出于 性能 和别的原因,提供的接口所返回的 数据格式也许不太适合前端 直接使用。 前端所需的 排序功能、 筛选功能 ,以及到了视图层的 页面展现 ,也许都需要 对接口 所提供的 数据...
  • 一个典型的 node 中间层应用就是后端提供数据、node 层渲染模板、前端动态渲染。 这个过程中,node 层由前端开发人员掌控,页面中哪些页面在服务器上就渲染好,哪些页面在客户端渲染,由前端开发人员决定。 这样,...
  • nodejs中间层

    2019-05-14 13:57:07
    nodejs中间层其实就是使用nodejs在前后端了一个中间的处理。 传统意义的前后端数据交互,一般就是两种模式,一种是前端直接向后端发起请求;另一种是前端向中间代理层发起请求,代理层再转发到服务层。这样的模式...
  • 但是也有一个问题,因为项目所需要的可靠性较高,而javascript本身弱语言类型再加上nodejs单进程本身比较脆弱,所以我们将nodejs所提供的中间层定位为只将查询类接口由此封装,而涉及的提交等操作类接口还是走原来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,892
精华内容 22,756
关键字:

node做中间层