nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)


Posted in NodeJs onJuly 05, 2017

准备工作:

1.安装nodejs ---还用我教了?

2.安装依赖包express4.x  点这里》》》nodeJS搭建本地服务器

3.安装vue-cli脚手架 点这里》》》vue-cli构建vue项目

这里强调一下,express是后端服务器,它是一个独立的服务器,vue启动的是前端服务器,vue-cli中已经集成了一个小型的express,这两个服务器是分开放的,但是它们都是基于nodejs的。

nodeJS部分:这里我已经认为你搭建好了express服务器,并且能在浏览器中访问到

1.在express目录下,安装cors包1.npm install cors --save 
2. //这里的--save是指把cors依赖注入到package.json中 

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

2.在app.js中配置:开启cors  //就如我下图配置的一样

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) 

//.............
var cors = require('cors');

//...............

app.use(cors({
  origin:['http://localhost:8080'],
  methods:['GET','POST'],
  alloweHeaders:['Conten-Type', 'Authorization']
}));

3.在routes/index.js中配置一条路由映射

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

router.post('/first', function(req, res, next) {
 res.json({name:'aaa',pwd:'123'});
});

说明:到这里后端就配置完了,我这里写了假数据,没有访问数据库,我只让返回了一个json对象 {name:'aaa', pwd:'123'}

只要是 http://localhost:8080/first 这个路由过来的访问都可以拿到这个返回的对象了

这里需要说明的是,后台自己本来的域名下也是可以访问到这个路由的,就是说明这个域名是可以共享的。

 --重启服务器

Vue部分:这里我已经认为你搭建好了vue服务器,并且能在浏览器中访问到

说明:我们这里引入了jquery,目的是为了用他的ajax插件,这里有同学可能会问了,为什么不用vue-resource?

vue-resource: 是Vue.js的一款插件,它可以通过XMLHttpRequest或JSONP发起请求并处理响应。也就是说,$.ajax能做的事情,vue-resource插件一样也能做到,而且vue-resource的API更为简洁。另外,vue-resource还提供了非常有用的inteceptor功能,使用inteceptor可以在请求前和请求后附加一些行为,比如使用inteceptor在ajax请求时显示loading界面

我告诉你原因: 因为我不会,就是这么有底气!还有,我再声明,如果这个项目里再结构方面有哪里不合理,还请请赐教,就是这么虚心求教

1.打开vue项目的入口文件

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)

2.在入口文件中编写代码   这里可能有人问为什么不用模块化开发,我在说一遍,我现在还不会 -_- |       -_-|       -_-| 

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) 

这里我用了百度静态资源库的cdn加载

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<button>获取json</button>
<script>
  $('button').click(function(){
    $.ajax({
      type:'POST',
      url:'http://localhost:3000/first',
      headers:{
        "Conten-Type":"http://localhost:3000/first"
      },
      success:function (backDate) {
        // body...
        console.log(backDate);
      }
    })
  })
</script>

3.因为vue项目是自动刷新的,如果没有,你就手动刷新一下,因为我还没搞明白它什么在哪些情况下会自动刷新,再不行就重启服务器,哈哈

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) 

这是现在的前端页面,我们点击以后看控制台,因为在ajax请求里写的,我们在访问成功success时,打印出传回来的数据

nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) 

至此,我们的前后端入门就到此结束了。。。

我们从localhost:8080端口访问到了localhost:3000端口,并进行了交互,各位,像前后端分离进军吧!

参考:

Vue.js——基于$.ajax实现数据的跨域增删查改 

express中文文档  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
NodeJS学习笔记之Http模块
Jan 13 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
详解nodejs 文本操作模块-fs模块(三)
Dec 22 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
May 13 NodeJs
nodejs批量下载图片的实现方法
May 19 NodeJs
ajax +NodeJS 实现图片上传实例
Jun 06 NodeJs
使用nodeJs来安装less及编译less文件为css文件的方法
Nov 20 NodeJs
nodejs调取微信收货地址的方法
Dec 20 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
nodejs实现一个word文档解析器思路详解
Aug 14 NodeJs
使用nodejs实现JSON文件自动转Excel的工具(推荐)
Jun 24 NodeJs
nodejs模块学习之connect解析
Jul 05 #NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 #NodeJs
nodejs 子进程正确的打开方式
Jul 03 #NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 #NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 #NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 #NodeJs
NodeJS链接MySql数据库的操作方法
Jun 27 #NodeJs
You might like
dedecms系统常用术语汇总
2007/04/03 PHP
PHP内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
PHP中的empty、isset、isnull的区别与使用实例
2019/03/22 PHP
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
使用jQuery实现两个div中按钮互换位置的实例代码
2017/09/21 jQuery
原生JS实现的轮播图功能详解
2018/08/06 Javascript
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
python基于event实现线程间通信控制
2020/01/13 Python
Python基于jieba, wordcloud库生成中文词云
2020/05/13 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
python Scrapy框架原理解析
2021/01/04 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
公司司机岗位职责范本
2014/03/03 职场文书
教师演讲稿大全
2014/05/16 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
化工见习报告范文
2014/10/31 职场文书
2014年财务经理工作总结
2014/12/08 职场文书
采购部2015年度工作总结
2015/07/24 职场文书