Vue webpack前后端分离整理学习整理

发布时间:2019-05-29 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Vue webpack前后端分离整理学习整理脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

**

搭建Vue webpack开发环境

**

安装全局vue-cli脚手架

npm install -g vue-cli 

全局安装webpack

npm install webpack -g

创建一个基于webpack模板的新项目

vue init webpack myproject

安装项目依赖

npm install

进入项目根目录启动项目

npm run dev

配置express服务器

在根目录下创建server文件夹
server/app.js

Vue webpack前后端分离整理学习整理


server/db.js数据库连接池

Vue webpack前后端分离整理学习整理


server/api/login.js

Vue webpack前后端分离整理学习整理

这里只介绍登录功能,注册就是往数据库里添加数据,只是需要更改selectSQL这个查询语句

在项目中引用bootstrap

先在src/assets文件夹下新建css js font 三个文件夹,将bootstrap放入其中
安装jquery插件:npm install jquery --save-dev让vue

安装支持css的插件:

npm install style-loader --save-dev

npm install css-loader --save-dev

npm install file-loader --save-dev

然后在main.js下全局引入bootstrap.css
import "./assets/css/bootstrap.css" //这种方法不知道为什么总有警告
目前我给他放在了应用样式的文件下

<style>
@import "../assets/css/bootstrap.css"
</style>


**

webpack下对路由的使用

**

在src/router/index.js这里是控制前端的路由
这里只有用户登录到首页的路由

Vue webpack前后端分离整理学习整理


axios.post传参问题解决

登录页面login.vue

说一下大概的结构
两个input通过v-model获取到密码和手机号的输入值
tempalte里的html就不展示了,大家都会,下面的js代码最恶心的就是
axios的post传参问题了,有困扰的可以去这里看看我就是照这个解决的

Vue webpack前后端分离整理学习整理


跨域问题

上面的login.vue还有一个很重要的问题就是跨域
跨域需要在你的项目目录下找到config/index.js
里面的proxyTable是专门解决跨域问题的

Vue webpack前后端分离整理学习整理


通过sessionStorage本地存储解决Vuex刷新数据丢失问题

接下来应用sessionStorageVuex 结合进行用户信息的保存,
sessionStorage是防止Vuex保存完数据,页面刷新数据丢失问题

在/src/文件夹下新建一个Vuex文件夹,里面新建4个js文件,分别是
stort.js

import Vue from 'vue'
import Vuex from 'vuex'

import * as getters from './getters'
import * as mutations from './mutations'
import * as actions from './actions'

Vue.use(Vuex)

const store = new Vuex.Store({
    //定义状态
    state:{
        currentUser:null,//当前用户
        isLogin:false,//判断当前用户是否已经登录
        token:""//保存用户登录后持有的token。实际上token也可以不保存在vuex中,因为vuex是一个状态管理器而非一个存储工具。我在axios的headers里是直接用的sessionStorage里的token。这里没有用
    },
    getters,
    mutations,
    actions
    
})

export default store

mutations.js


//更改用户状态信息

export const userStatus = (state,user)=>{
    if(user){
        state.currentUser = user
        state.isLogin = true
    }else if(user == null){
        //登出的时候,清空sessionStorage里的东西
        sessionStorage.setItem("user",null);
        
        state.currentUser = null;
        state.isLogin = false;
        
    }
}

getters.js

export const currentUser = state => state.currentUser
export const isLogin = state => state.isLogin

actions.js

//应用mutation

export const setUser = ({commit},user) => {
    commit("userStatus",user);
}

login添加内容,进行本地保存和Vuex保存
在login.vue 头部引入

import store from '../vuex/store.js'

然后在下面进行保存

Vue webpack前后端分离整理学习整理


**

用户的登录/登出功能实现

首页index.js

Vue webpack前后端分离整理学习整理


main.js的配置

Vue webpack前后端分离整理学习整理


最后的运行
在项目根目录下运行启动项目

npm run dev

在项目根目录下/server下运行服务器

node app.js

脚本宝典总结

以上是脚本宝典为你收集整理的Vue webpack前后端分离整理学习整理全部内容,希望文章能够帮你解决Vue webpack前后端分离整理学习整理所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Vue