当前位置: 首页 > 编程笔记 >

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

何灿
2023-03-14
本文向大家介绍VUE+node(express)实现前后端分离,包括了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接口数据


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

 类似资料:
  • 本文向大家介绍node vue项目开发之前后端分离实战记录,包括了node vue项目开发之前后端分离实战记录的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要介绍了关于node vue前后端分离的相关资料,分享出来供大家参考学习,下面随着小编来一起学习学习吧。 node vue项目开发 最近看了近一周的vue开发,有诸多感触,我之前接触过react、angular所以特别想学学久仰大名的v

  • 本文向大家介绍Vue前后端不同端口的实现方法,包括了Vue前后端不同端口的实现方法的使用技巧和注意事项,需要的朋友参考一下 前端Vue 8080端口,后端Node.js 8085端口 主要记录下前后端不同端口遇到的问题 1、写服务器端程序,我的在(node_proxy/index.js)下 这段代码很重要,要是没有的话会出现 No 'Access-Control-Allow-Origin' hea

  • vue实现动态按钮借助iview的Button,由于这些按钮是配置出来的,目前没有代码,还不清楚怎么写,所以麻烦大佬们了 如图 期望能在各个vue组件使用的,然后通过不同的点击来触发事件,希望大佬们,给个思路

  • 前后端分离 在B/S架构的环境中,前后端分离一直都众说纷纭,没有一个标准。我觉得打开可以分为三个阶段: 传统的分离方法 传统意义上的前后端分离,前端指的是美工、切图、设计,后端是实现代码、数据库相关的实现。美工设计和生成的前端页面,给到程序员来做集成。那么这里其实就不分什么前后端了,程序员从数据库一直搞到前端页面的样式,就是“全能型运动员“。当然,一般传统上的开发协作模式有两种: 一种是前端先写一

  • 我有一个Spring Boot后端,需要实现一个AngularJS(2)前端来使用我的REST API(两者都运行在一个服务器上)。我是一个初学者,但我还没有找到一个像样的教程/演示来帮助我开始,考虑到下面的图像是我的项目结构。

  • 现在我在后端写了一个路由用了puppeteer这个库,但是这个会经常出错,会导致后端服务挂掉,然后不能运行,想问一下怎么处理很多的异常,是对try catch进行封装吗?然后全局捕获?