前后交互实战

一、环境准备

这里我使用的是Vue+Element-Ui+SpringBoot
确保电脑有node环境和npm,之后选择一个文件下cmd去安装vue-cli,npm install -g vue-cli,安装之后使用Vue -V查看是否可以在当下窗口下使用vue命令,如果不可以的话先通过管理员的身份进入到powershell下,Get-ExecutionPolicy查看当前权限,Set-ExecutionPolicy RemoteSigned修改权限到RemoteSigned下,退出到当前文件下,shift+右键找到powershell进入之后,通过vue create 创建vue的脚手架环境,或者 vue init webpack 初始化vue脚手架环境。

  • node+npm环境准备
  • npm install -g vue-cli
  • vue create 或者vue init webpack

后端的Java环境这里不在强调

  • jdk
  • mysql
  • idea

二、前端环境

在我们创建脚手架完成之后进入到App.vue页面这个页面是一个入口,下面需要挂一个路由的出口

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<style>
@import url('./assets/reset.css');
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
</style>

其他的渲染的一些可以不用,之后就是main.js,这里是设置Vue全局的一个文件,我这里是Vue2,new Vue的写法可能不一样,意思都差不多,主要是设置路由之后挂在到App下面,而这里因为我的Demo下面要前后交互和渲染图,所以加入了axios和echart

1.引入

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import axios from 'axios'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import * as echarts from 'echarts';


Vue.config.productionTip = true
Vue.prototype.$axios = axios
Vue.use(ElementUI)
Vue.prototype.$echarts = echarts

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

关于路由

import Vue from 'vue'
import VueRouter from 'vue-router

Vue.use(VueRouter)
const routes = [
	{
		path:'/',
		name: 'home',
		componetn: ()=>import('路径')
	}
]
const router = new VueRouter({
	routes,
	mode:'history'
})
export default router

之后关于组件这里不在多说

2.关于跨域

这个是前后端交互下比定会出现的问题,跨域出现在协议,端口,域名其中一个不同的情况下。
前端设置

//找到配置的js,在下面添加这样的一段代码 proxyTable 
module.exports = {
    dev: {
        // Paths
        assetsSubDirectory: 'static',
        assetsPublicPath: '/',
        proxyTable: {
            '/api': {
                target: 'http://localhost:8008',//后端接口地址
                changeOrigin: true,//是否允许跨越
                pathRewrite: {
                    '^/api': '/api',//重写,
                }
            }
        },
        host: '127.0.0.1',
        port: 8090,
        autoOpenBrowser: false,
        errorOverlay: true,
        notifyOnErrors: true,
        poll: false,
        useEslint: true,
        showEslintErrorsInOverlay: false,
        devtool: 'eval-source-map',
        cacheBusting: true,
        cssSourceMap: false,
    },
 
}
上面的api是你后端Control层下的映射value

欢迎大家指出问题,一起学习!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值