vue+express之前后台分离博客
说来惭愧,这么久没有更新过博客了,写个项目练练手吧,打算写一个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之前后台分离博客的更多相关文章
- springboot vue组件写的个人博客系统
个人写的博客管理系统,学习java不到一年 欢迎探讨交流学习 https://github.com/Arsense/ssmBlog 项目地址 如果觉得好的 帮忙star一下 谢谢! 基本技术 环境: ...
- vue+node+mongodb前后端分离博客系统
感悟 历时两个多月,终于利用工作之余完成了这个项目的1.0版本,为什么要写这个项目?其实基于vuejs+nodejs构建的开源博客系统有很多,但是大多数不支持服务端渲染,也不支持动态标题,只是做到了前 ...
- express 和 vue-cli 的博客网站
已经上传到github地址:https://github.com/13476075014/node-vue/tree/master/mynodeproject/15.TimeBlog # 个人博客系统 ...
- 基于express+mongodb+pug的博客系统——pug篇
很久之前就想自己搭一个博客了,最开始用hexo+github,但是换电脑后总是有些麻烦.后来使用WordPress,但是用WordPress总觉得没什么技术含量,前后端都是人家写好的,而且买的垃圾虚拟 ...
- NodeJS+Express+MongoDB 简单个人博客系统【Study笔记】
Blog 个人博客系统 iBlog是在学习NodeJs时候一个练手项目Demo 系统支持用户注册/登录,内容文章查看,评论,后台管理(定制显示的分类版块,进行文章内容添加)超级管理员还可进行用户管理等 ...
- 基于Vue+node.js的个人博客
前言 作为一个年轻的程序员,而且是作为一个未来的前端工程师,怎么能没有一个属于自己的博客呢,于是乎在暑假咸鱼了一个多月后开始了我的博客的编写. 技术栈 前端 vue.js+scss 因为当时没学vu ...
- 最近学习了Node,利用Express搭建了个人博客,总结下吧
node+express+jade+mongodb搭建了一套个人博客,我来总结下这几个家伙的使用感受吧! [node] 成熟插件库众多,真的是只有你想不到,没有它做不到的.而且对于有前端JS基础的童鞋 ...
- 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% ...
- 基于express+mongodb+pug的博客系统——后台篇
上一篇介绍了模板引擎pug.js的用法,这一篇就主要写后台逻辑了. 后台的大部分的功能都有了,只是在已经登录的状态下,前台和后台的逻辑处理还不是很完善. 先上几张图吧,仿旧版的简书,改了下UI,因为没 ...
随机推荐
- Python后端开发要求
关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...
- 延迟执行之 Invoke 函数
Invoke 函数需要继承 MonoBehaviour 类后才能使用. Invoke(string str,float a):a 秒后执行名为 str 函数(只会调用一次). Invoke(strin ...
- Java数据结构和算法(五)——队列
前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构——栈,本篇博客我们介绍另外一个这样的工具——队列.栈是后进先出,而队列刚好相反,是先进先出. 1.队列的 ...
- 第四届河南省ACM 表达式求值 栈
表达式求值 时间限制: 1 Sec 内存限制: 128 MB 提交: 14 解决: 7 [提交][状态][讨论版] 题目描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简 ...
- mysql故障解决笔记
错误提示如图 一开始我查询了 [root@web01 mysql]# ls -al /lib/libc* -rwxr-xr-x 1 root root 1909464 Mar 22 01:49 /li ...
- Undefined index: HTTP_RAW_POST_DATA的解决办法
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 替换为 $postStr = isset($GLOBALS['HTTP_RAW_POST_DA ...
- 高质量PHP代码的50个实用技巧必备(上)
1.不要使用相对路径 常常会看到: ? 1 require_once('../../lib/some_class.php'); 该方法有很多缺点: 它首先查找指定的php包含路径, 然后查找当前目录. ...
- Java数据结构和算法(七)——链表
前面博客我们在讲解数组中,知道数组作为数据存储结构有一定的缺陷.在无序数组中,搜索性能差,在有序数组中,插入效率又很低,而且这两种数组的删除效率都很低,并且数组在创建后,其大小是固定了,设置的过大会造 ...
- 团队合作-如何避免JS冲突
解决JS冲突的演化过程 1.用匿名函数将脚本包裹起来,可以有效控制全局变量,避免冲突隐患 (function(){})(): 2.定义一个全局作用域的变量str,可以帮助我们在不同匿名函数间通信 严格 ...
- Android ViewPager实现图片标题轮播和点击事件
我看别人的文章,最喜欢看有图的.然后先找图看. 那我就先上效果图: 实现了图片自动轮播,手动滑动,轮播标题,以及点击事件.下面开始: 一.资源文件: 首先是布局: <?xml version=& ...