vue-element-admin 初识(一)

11 篇文章 15 订阅

一、下载安装

1.安装不在赘述,去官网查就得了

对了 装完 node之后 别忘了 npm init -y 因为绑定下面淘宝镜像的时候可能会出现composer.json不存在或者其他未知错误。

2.最好npm绑定淘宝镜像,国内速度快:(1)npm install -g registry=https://registry.npm.taobao.org (2)npm config set registry https://registry.npm.taobao.org 两种方式都可以绑定,另外绑定完毕之后查询是否绑定好了执行命令:npm config get registry 出现绑定的淘宝镜像地址就说明绑定成功了。

二、mockJS 生成测试数据的,自己去官网看,不多赘述。

三、项目基本知识

1.后台title、header、logo设置方式

文件位置:src/settings.js 

title:xxx 顾名思义 他就是后台title

fixedHeader: true 设置头部固定,如下图,面包屑导航那一栏为头部,设置true就为头部固定

sidebarLogo: true 设置sidebar顶上的logo,然后logo图片及名称修改位置:因为启用了layout模板布局,所以去找src/layout文件夹。通过读 src/layout/index.vue源码发现Navbar,SideBar,AppMain均引入的components组件所以去看 src/layout/components组件文件夹,然后找到components/Sidebar文件夹中的Logo.vue,最后进行更改。注意静态文件要用require方法进行引入,直接相对路径是不可以的;另外在此框架里面 @ 代表src目录。

四、编写api请求数据展示

因为这里涉及前后台分离开发,所以后台地址就自己随便搞一个,或者用我的:https://mock.mengxuegu.com/mock/6063d952f2e38f3a2f6ba42f/xzec/test 这个只是一个测试接口,只有状态和message。只是为了演示下面怎么进行的前后台对接api。

1.设置开发代理服务器

找到根目录下的vue.config.js文件,里面module.exports中的devServer对象在before:require('./mock/mock-server.js')后面添加,这个before是拦截,也就是直接找到mockjs里面找到某些数据,这个devServer是开发环境才会检测,生产环境不会检测运行。

proxy:设置代理服务器,避免跨域问题

[process.env.VUE_APP_BASE_API] 这是key,在vue里面必须要加[];我也不知道是vue这样限制的还是这个框架,总之要加上;然后VUE_APP_BASE_API是 根目录下.env.development文件中的值,这个文件也就是开发环境的env

target: http:xxx/xxx 这个是目标服务器地址

changeOrigin: true 是否跨域,设置为true 直接访问上方的target地址

pathRewrite: {

    [ '^' + process.env.VUE_APP_BASE_API]: '' // 匹配process.env.VUE_APP_BASE_API 然后替换成空,因为地址没有带着 /dve-api 所以要把它去掉。

}     

2.编写api

在src/api里面编写自己的api文件,比如test.js,引入request方法,放出default中的自己编写的test(){}方法 返回异步promise,然后在静态文件中使用.then()方法拿到返回的promise数据。

(1)get方法

(2)post方法:注意post方法设置之后由于还是用的mock-server.js,请求外部接口的时候会报错5000毫秒超时,这是由于node的express中的body-parser中间件导致的,所以要在mock-server.js中设置一下:首先注释app.use(bodyParser.json())和app.use(bodyParser.urlencoded({extended: true})),然后把这两个参数写到app[mock.type](mock.url, bodyParser.json(), bodyParser.urlencoded({extended: true}), mock.response)

3.调用api并渲染页面

(1)首先在页面引入自己编写的api:import api from '@/api/test'

(2)在export default中设置data(),created(),methods:{};注意这里data里面是要return的;created是页面要执行的方法;methods里面编写方法,设置data里面的数据this.name=response;promise.then()里面用的es6的箭头函数:可以response=>{}或者(response)=>{}。箭头函数意思就是能在里面拿到外面的this,不然普通函数的this只是取的当前方法。

(3)渲染页面 {{ xxx }} 用双大括号进行渲染。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值