说来惭愧,这么久没有更新过博客了,写个项目练练手吧,打算写一个vue+express的博客  可能这个时间说长不长说短不短  写到哪就是哪吧  我采用的是前后台分离  express采用的是mvc,但是没有v层,只要是起到一个逻辑判断写入数据库的功能,下面废话不多说直接弄吧,最后说下禁止转载。

  首先,前端采用的是vue+element,先把前端的模板弄出来

vue init webpack qiantai
cd qiantai
npm install
npm i element-ui -S
npm i axios npm run dev

  更改main.js

import axios from 'axios'     //加载axios
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.prototype.axios = axios; //把axios对象挂到vue的原型上
Vue.use(ElementUI);

  前端这块是暂时弄好了,现在开始搭建后台这块,首先确保你安装了mongodb

npm i -g express-generator
express server
npm install
mpm i cros  //解决跨域用的 npm i config-lite connect-flash connect-mongo express-formidable express-session marked moment mongolass objectid-to-timestamp sha1 winston express-winston --save /* config-lite: 读取配置文件 connect-flash: 页面通知的中间件,基于 session 实现 connect-mongo: 将 session 存储于 mongodb,结合 express-session 使用 express-formidable: 接收表单及文件上传的中间件 express-session: session 中间件 marked: markdown 解析 moment: 时间格式化 mongolass: mongodb 驱动 objectid-to-timestamp: 根据 ObjectId 生成时间戳 sha1: sha1 加密,用于密码加密 winston: 日志 express-winston: express 的 winston 日志中间件 */
node bin/www

  在server里面的app.js里面加入

var cors = require('cors');
app.use(cors());

  好了,现在前后台就算基本上搭建完成了,那么我们来测试下前后台能不能连的上,在server文件夹下找到routes下的index.js,更改代码

router.get('/', function(req, res, next) {
   res.send({
    status : 1 ,
    info : '这个是index的返回的东西'
  });
});

  回到vue里面,打开HelloWorld.vue,把如下代码全部复制进去

<template>
  <div >
    <el-tag>vue执行了</el-tag>
    {{ceshi.info}}
  </div>
</template>

<script>
export default {
  data () {
    return {
      ceshi : ''
    }
  },
  mounted(){
    this.ceshif();

  },
  methods : {
    ceshif(){
      let self = this;

      self
        .axios({
          method: "get",
          url: 'http://localhost:3000',

        })
        .then(function(response) {
          self.ceshi = response.data;

        })
        .catch(function(err) {
          console.log("噢耶,报错咯");
        });
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>

</style>

  浏览器打开http://localhost:8080/#/ ,这个时候你会看见如下图,那么基本的步骤就完成了

vue+express之前后台分离博客的更多相关文章

  1. springboot vue组件写的个人博客系统

    个人写的博客管理系统,学习java不到一年 欢迎探讨交流学习 https://github.com/Arsense/ssmBlog  项目地址 如果觉得好的 帮忙star一下 谢谢! 基本技术 环境: ...

  2. vue+node+mongodb前后端分离博客系统

    感悟 历时两个多月,终于利用工作之余完成了这个项目的1.0版本,为什么要写这个项目?其实基于vuejs+nodejs构建的开源博客系统有很多,但是大多数不支持服务端渲染,也不支持动态标题,只是做到了前 ...

  3. express 和 vue-cli 的博客网站

    已经上传到github地址:https://github.com/13476075014/node-vue/tree/master/mynodeproject/15.TimeBlog # 个人博客系统 ...

  4. 基于express+mongodb+pug的博客系统——pug篇

    很久之前就想自己搭一个博客了,最开始用hexo+github,但是换电脑后总是有些麻烦.后来使用WordPress,但是用WordPress总觉得没什么技术含量,前后端都是人家写好的,而且买的垃圾虚拟 ...

  5. NodeJS+Express+MongoDB 简单个人博客系统【Study笔记】

    Blog 个人博客系统 iBlog是在学习NodeJs时候一个练手项目Demo 系统支持用户注册/登录,内容文章查看,评论,后台管理(定制显示的分类版块,进行文章内容添加)超级管理员还可进行用户管理等 ...

  6. 基于Vue+node.js的个人博客

    前言 作为一个年轻的程序员,而且是作为一个未来的前端工程师,怎么能没有一个属于自己的博客呢,于是乎在暑假咸鱼了一个多月后开始了我的博客的编写. 技术栈 前端 vue.js+scss  因为当时没学vu ...

  7. 最近学习了Node,利用Express搭建了个人博客,总结下吧

    node+express+jade+mongodb搭建了一套个人博客,我来总结下这几个家伙的使用感受吧! [node] 成熟插件库众多,真的是只有你想不到,没有它做不到的.而且对于有前端JS基础的童鞋 ...

  8. Nodejs+mysql+Express: 一个简单的博客

    推荐网址: https://github.com/nswbmw/N-blog/blob/backup/book/%E7%AC%AC1%E7%AB%A0%20%E4%B8%80%E4%B8%AA%E7% ...

  9. 基于express+mongodb+pug的博客系统——后台篇

    上一篇介绍了模板引擎pug.js的用法,这一篇就主要写后台逻辑了. 后台的大部分的功能都有了,只是在已经登录的状态下,前台和后台的逻辑处理还不是很完善. 先上几张图吧,仿旧版的简书,改了下UI,因为没 ...

随机推荐

  1. ListView ,recycleView列表带进度条

    实现上图功能有两种思路. 一:普通做法,更新item的数据,不停调用notifydatachange ; 二:各管自家刷新. 一个下载对应一个下载线程.线程持有对应item在Listview中的位置. ...

  2. lua API 小记2

    1. 创建lua虚拟机 lua_State *lua_newstate (lua_Alloc f, void *ud) 创建一个新的独立的lua虚拟机. 参数指定了内存分配策略及其参数, 注意, 让用 ...

  3. 安卓自定义控件(四)实现自定义Layout

    本来我是不准备写这篇文章的,我实在想不出有什么样奇怪的理由,会去继承ViewGroup然后自定义一个布局,大概是我的项目经验还不够吧,想了好久,想到了这样一个需求: 需求 如图:在项目中经常有一个这样 ...

  4. 二叉树、栈、队列、链表的Java代码实现

    这是我的学习总结. 如有文章存在谬误,欢迎指出,有其他意见或者建议,也欢迎留言 二叉树链表 前序遍历:先访问根节点,然后访问左子树.右子树 中序遍历:先访问左子树,然后访问根节点.右子树 后序遍历:先 ...

  5. C#Dictionary键值对取值用法

    必须包含名空间System.Collection.Generic     Dictionary里面的每一个元素都是一个键值对(由二个元素组成:键和值)     键必须是唯一的,而值不需要唯一的     ...

  6. python语言 第一个程序

    print("hello word!") # for i in range(1, 10):# for j in range(1, 10):# print(j, "x&qu ...

  7. [flask/python/web] 解析flask web开发(Miguel著)一书第11章主页不显示博文表单的问题

    ---------------------------------------------以下内容2017.7.14更新---------------------------------------- ...

  8. CountDownLatch的实现原理

    CountDownLatch是java并发包中辅助并发的工具类,目的是让并发运行的代码在某一个执行点阻塞,直到所有条件都满足,这里的条件就是调用countDown()方法,有点类似计数器的功能. 用法 ...

  9. 浏览器出现Cannot set property 'onclick' of null的问题

    Part1: 当js文件放在head里面时,如果绑定了onclick事件,就会出现这样的错误, 是因为W3School的写法是浏览器先加载完按钮节点才执行的js,所以当浏览器自顶向下解析时,找不到on ...

  10. .net多线程应用

    昨天在部门分享.net多线程的一些内容,特此在博客记录下.内容如下: 进程与线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 ...