使用vue+flask做全栈开发的全过程(实现前后端分离)

花了几天的时间终于在本地把前后端跑通了,以一篇博客记录我这几天的心酸。。。

1、安装nodejs(自带npm,可能会出现版本错误,更新npm)

2、npm在国内下载时,可能会慢,所以建议要安装淘宝镜像,命令如下

npm install -g cnpm --registry=https://registry.npm.taobao.org

3、安装webpack打包,安装webpack(不懂webpack的建议去官网照着例子敲一边,豁然开朗)

cnpm install webpack -g

4、安装vue脚手架

5、创建一个文件夹testapp

cd testapp

6、新建vue项目

vue init webpack myvue 或者 vue init webpack-simple 工程名

会出现一些初始化设置,直接回车,保持默认也行

7、cd myvue,执行 npm install 或者cnpm install后者更快

8、启动项目npm run dev

到这里,前端完成,分割线===================================================================

9、先安装axios,就相当于之前用ajax,用于前后端交互

10、修改App.vue,内容如下:

<template>

  <div id="app">

    <button @click="aaaaa">sasa</button>

  </div>

</template>

 

<script>

import axios from 'axios';

 

export default {

  name: 'app',

  data () {

    return {

    }

  },

  methods: {

    aaaaa () {

      axios.get("http://127.0.0.1:5000").then(function(r) {

        alert(r.data)

      });

    }

  }

}

前端修改完成========================================

11、后端因为存在跨域的问题,所以建议安装flask_cors

12、

这是我的目录结构,在app下面的__init__.py文件里面输入以下内容

这个文件其实是用来做路由的

13、db包用来存放对应数据库的表,并在db下面的__init__文件下面,输入数据库链接信息,因为我是python3的环境,我链接mysql的第三方库用的是pymysql

14、然后model包里面进行全部对数据库的操作,不涉及业务逻辑

15、exception里面放的是自己写的异常类

16、public里面放的是一些公共的方法

17、resource里面就是业务逻辑了

18、service放的是工具类

最后运行以下app下面的__init__.py文件,会有

然后前端运行命令npm run dev,点击button就会有数据返回了,建议最好是部署服务器,不然,每次在后端修改之后,都要重新执行一遍前后端的运行命令,有点麻烦

github地址:

 

posted on 2017-07-19 12:30  黑加仑妞  阅读(35380)  评论(5编辑  收藏  举报