VUE+node(express)实现前后端分离

 更新时间:2019年10月13日 15:47:47   作者:陈嗯嗯前端基地  
在本篇文章里小编给大家分享的是关于VUE+node(express)前后端分离实例内容,有需要的朋友们参考下。

vue作为前端的框架,node(express)作为后端的框架。无数据库,使用端口保存数据。 VUE:

使用vue-cli构建vue项目(vueapp)。

npm install -g vue-cli(安装,安装过的就不用了)
vue init webpack vueapp

axios:(与ajax相似)

import axios from 'axios'
var url="http://localhost:3000"            //express服务器的地址
axios.get(url+'/product')               //放数据的接口
 .then(function (response) {             //收到的数据
  console.log(response);
  console.log(response.data);            //展示数据(看看是否拿到,和数据长啥样) 
  var nodeData=response.data;      
 })
 .catch(function (error) {
  console.log(error);![在这里插入图片描述](https://img-blog.csdnimg.cn/20191013132943460.jpg)
 });

axios没安装的记得装一下。(安装不细说)

node(express): 启动>>>npm start

使用express构建服务器:

新建个myapp放express
npm install express

在(routes文件夹中)建一个product,js接口

var express = require('express');      //使用express
var router = express.Router();        //放数据
/* GET home page. */
router.get('/', function (req, res, next) {
  var data = {
    code: 0,
    data: {
      name: 'aaa',
      pwd: '123'
    },
    isSuccess: true,
    msg: "请求成功"
  }
  res.json(data);
});
module.exports = router;

app.js(建立接口存放数据)

var productRouter = require('./routes/product');
app.use('/product', productRouter);

最后服务器数据有了!!!!VUE前端接收数据的链接也有了!!!但还是没办法链接!!!!这就是跨域的问题!!!

跨域:

1.端口不同 http://localhost:3000和http://localhost:8080

2.网址不同 www.baidu.com和www.aiqiyi.com

3.ip和网址不同 http://localhost:3000和http://127.0.0.1

反正除非同个网址里面,只有目录不同,才不用跨域。

开始解决!!

express>>>app.js

//跨域问题解决方面
const cors = require('cors'); 
app.use(cors({ 
  origin:['http://localhost:8080'],
  methods:['GET','POST'],
}));
//跨域问题解决方面
app.all('*',function (req, res, next) {
 res.header('Access-Control-Allow-Origin', 'http://localhost:8080');
 res.header('Access-Control-Allow-Headers', 'Content-Type');
 res.header('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
 next(); 
});

cors需要安装,是一个依赖。

结果:
服务器(express):3000接口数据


搞定了,以上就是本次介绍的全部知识点,感谢大家的学习和对脚本之家的支持。

相关文章

  • 老生常谈vue2中watch的使用

    老生常谈vue2中watch的使用

    watch的基本用法是在Vue实例中定义一个watch对象,该对象内部包含需要监听的数据项和对应的回调函数,这篇文章主要介绍了vue2中watch的使用,需要的朋友可以参考下
    2024-01-01
  • Vue实现可移动水平时间轴

    Vue实现可移动水平时间轴

    这篇文章主要为大家详细介绍了Vue实现可移动水平时间轴,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 详解vue组件开发脚手架

    详解vue组件开发脚手架

    本篇文章给大家详细分析了vue组件开发脚手架的相关内容以及知识点,对此有兴趣的朋友可以学习参考下。
    2018-06-06
  • 使用vue-cli编写vue插件的方法

    使用vue-cli编写vue插件的方法

    本篇文章主要介绍了使用vue-cli编写vue插件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • vue项目webpack中配置src路径别名及使用方式

    vue项目webpack中配置src路径别名及使用方式

    这篇文章主要介绍了vue项目webpack中配置src路径别名及使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue3中使用router4 keepalive的问题

    vue3中使用router4 keepalive的问题

    这篇文章主要介绍了vue3中使用router4 keepalive的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue 判断元素内容是否超过宽度的方式

    vue 判断元素内容是否超过宽度的方式

    这篇文章主要介绍了vue 判断元素内容是否超过宽度的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue调试工具vue-devtools安装及使用方法

    vue调试工具vue-devtools安装及使用方法

    本文主要介绍 vue的调试工具 vue-devtools 的安装和使用,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-11-11
  • 如何理解Vue中computed和watch的区别

    如何理解Vue中computed和watch的区别

    这篇文章主要介绍了Vue中computed和watch的区别,对Vue感兴趣的同学,可以参考下
    2021-05-05
  • flv.js在vue中的使用方法

    flv.js在vue中的使用方法

    flv.js是一个用于在浏览器中解码和播放FLV视频的JavaScript库,它可以将FLV视频流解码并显示在HTML5的video元素中,从而实现在浏览器中直接播放FLV格式的视频文件,本文给大家介绍flv.js在vue中的使用,感兴趣的朋友一起看看吧
    2023-11-11

最新评论