vue前后端分离初体验(-)

数据库老师说bookstrap太老,太丑了。建议我们用心的框架,后端SSM的增删改查已经做完了,偶然看到一个github项目介绍了vue.js看起来界面还挺好看的。然后就想用vue.js实现前后端的分离。

一、vue.js是什么

是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

官方介绍,然而我还是不太懂它和别的前端框架有什么区别,所以就还是一边做,一边了解吧。

二、node.js和webback

1.node.js

node.js就js的运行环境,听说node.js可以实现全栈,我试着用它搭建了服务器,看起来很简单的,几行代码就搭建出来了,但是对于各种包就完全一无所知,感觉学起来也是挺困难的,封装性比较强啊。用vue.js之前要先安装node.js.下图是node.js的安装。安装完之后npm就已经有了。输入npm就可以看到输出内容。然后我们就可以用npm安装很多依赖,下载各种包。


2.webpack

它分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其打包为合适的格式以供浏览器使用

安装过程:终端下输入

cnpm install vue-cli -g ,运行vue查看安装是否成功。运行vue init webpack vuehui (vuehui是工程名字)



执行npm install

注意:这个npm会比较慢,可以用淘宝的镜像,然后安装的使用命令cnpm install.或者也可以使用代理

前端编译器可以使用webStorm,但是感觉挺卡的。安装的时候勾选可以右键项目就可以打开webStorm


然后就可以运行项目npm run dev,出现如下界面:


三、登录界面的尝试

参考博客:https://blog.csdn.net/sxiaofang/article/details/80215575

1.安装需要的包

npm install axios -save  //axios作为和后端的交互

npm install element-ui -save   //界面美化的组件

安装的时候我会报错cannot find file...解决方法就把node_modules文件夹删除了,执行npm install 重新生产node_modules,之后再安装就不会出错了

2.登陆界面代码

main.js import需要的包,ui组件和css样式

import Vuefrom 'vue'

import Appfrom './App'

import routerfrom './router'

import ElementUIfrom 'element-ui'

import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)

Vue.config.productionTip =false

/* eslint-disable no-new */

new Vue({

el:'#app',

router,

components: { App },

template:''

})

router下的index.js改变页面入口

import Vuefrom 'vue'

import Routerfrom 'vue-router'

Vue.use(Router)

const Login = resolve => require(['@/components/Login'], resolve)

export default new Router({

routes: [

{

path:'/',

name:'登录',

component:Login }]

})

创建新的组件login.vue。这个代码样式那里就不太能看懂了hh

<template>

<div class = "note" :style = "note">

<div class="loginFrame">

<el-form ref = "AccountForm" :model = "account"  rules = "rules" label-position = "left" label-width = "0px" class = "demo-ruleForm login-container">


  <el-tabs v-model = "activeName" @tab-click = "handleClick" class = "users">

<el-tab-pane label = "学生" name = "students">学生</el-tab-pane>

<el-tab-pane label = "教师" name = "teacher">老师</el-tab-pane>

<el-tab-pane label = "教务老师" name = "eduTeacher">教务老师</el-tab-pane>

</el-tabs>

<el-form-item prop = "username">

<el-input type = "text" v-model = "account_username" auto-complete = "off" placeholder = "请输入您的账号"></el-input></el-form-item>

<el-form-item prop = "password">

<el-input type = "password" v-model = "account_password" auto-complete = "off" placeholder = "请输入密码"></el-input></el-form-item>

<el-checkbox v-model = "checked" checked class = "remember">记住密码</el-checkbox>

<h3 class = "forgetpwd">忘记密码</h3>

<el-form-item style = "width:100%;">

<el-button type = "primary" style = "width:100%;" >登录</el-button>

</el-form-item>

</el-form>

</div>

</div>

</template>

<script>

export default {

name:'登录',

data () {

return {

logining:false,

note: {

position:'absolute',

top:'0px',

left:'0px',

width:'100%',

height:'100%',

backgroundImage:'url(' + require('../assets/bg4.jpg') +')',

backgroundSize:'100% 100%',

backgroundRepeat:'no-repeat'

      },

account: {

username:'',

password:''

      },

rules: {

username: [

{required:true,message:'请输入账号',trigger:'blur'}

// { validator: validaePass }

        ],

password: [

{required:true,message:'请输入密码',trigger:'blur'}

// { validator: validaePass2 }

        ]

},

checked:true

    }

}

}

</script>

<style>

.login-container {

box-shadow:0 0px 8px 0 rgba(0,0,0,0.06),0 1px 0px 0 rgba(0,0,0,0.02);

-webkit-border-radius:5px;

border-radius:5px;

-moz-border-radius:5px;

background-clip:padding-box;

margin:180px auto;

width:350px;

padding:35px 35px 15px 35px;

background:#fff

  ;

border:1px solid #eaeaea;

box-shadow:0 0 25px #cac6c6;

}

</style>


3.运行结果



四、下一步任务

下一步就是先写好学籍管理系统的登录界面,然后再跟学生管理系统合并,也就是前后端衔接,貌似挺容易的,可以把vue组件打包成js,然后在html引用就可以了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 9,050评论 0 6
  • vue-cli搭建项目 确保安装了node与npm 再目标文件夹下打开终端 执行cnpm i vue-cli -g...
    Akiko_秋子阅读 8,498评论 1 22
  • 前段时间的空姐滴滴事件轰动一时,让人感叹这个世界有点太可怕,但是这样的事情也只是个例,在我们身边更多的还是美好的。...
    零点七度阅读 3,456评论 4 9
  • 上个周末陪老婆一起有幸去看了几部文艺电影,所谓文艺电影,就是区别于商业电影而命名的。商业电影顾名思义,就是纯粹为了...
    一凡常心阅读 1,488评论 0 1
  • 昨天晚上又梦到他了,梦里的每一个细节都记得很清楚。前面已经忘了,只是忽然梦境一转,和妈妈来到了一个类似大片农田的地...
    梨子家的傻瓜阅读 2,642评论 0 0