Vue 全家桶 + Express 实现的博客(后端 API 全部自己手写,很适合刚入门 vue 以及 express 的小伙伴学习) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AlloyTeamZy
V2EX    Vue.js

Vue 全家桶 + Express 实现的博客(后端 API 全部自己手写,很适合刚入门 vue 以及 express 的小伙伴学习)

  •  
  •   AlloyTeamZy
    alloyteamzy 2017-07-12 17:25:01 +08:00 2459 次点击
    这是一个创建于 3079 天前的主题,其中的信息可能已经有所发展或是发生改变。

    为什么学习并使用 Vue

    1.发展趋势

    最近这几年的前端圈子,由于戏台一般精彩纷呈,从 MVC 到 MVVM,你刚唱罢我登场。backbone,AngularJS 已成昨日黄花,reactjs 如日中天,同时另一更轻量的 vue 发展势头更猛,号称兼具了 angularjs 和 reactjs 的两者优点。

    2.Vue 能干吗

    移动端的上网需求已经远高于 pc 端,特别是 hybrid 方式的 H5 应用中,但是性能问题一直是痛点。 如果使用 SPA (就是俗称的单页应用( Single Page Web Application )),SPA 它将所有的活动局限于一个 Web 页面中,仅在该 Web 页面初始化时加载相应的 HTML、Javascript 和 CSS。一旦页面加载完成了,SPA 不会因为用户的操作而进行页面的重新加载或跳转。没有页面切换,就没有白屏阻塞,可以大大提高 H5 的性能,达到接近原生的流畅体验。

    陆续续看 vue 已经二个多月了,3 月份使用 vue2.0 开发了一个简单的博客,在用 vue 人性化优势的同时,的也遇到过很多坑,很多问题,分享一下我遇到的问题和解决办法

    Vue2_blog 技术栈

    vue2,vuex,vue-cli,axios,webpack,express,mysql

    Build Setup

    # install dependencies npm install # serve with hot reload at localhost:8080 (本地启动) npm run dev # build for production with minification (生成静态文件,用于打包上传服务器) npm run build 

    看这里:如果是刚入门的小伙伴,不知道把项目 clone 到本地后怎么在本地跑起来,这里写了个详细的说明文档,希望能帮助到你们 说明文档

    主要实现的功能

    1.用户登录

    2.用户注册

    3.用户发帖

    4.用户评论帖

    5.用户留言

    构建

    使用 vue-cli 来构建初始化项目,非常方便,相当于生成项目模板这样子。

    vuex

    vue 就我个人理解,是数据驱动,实现页面组件化开发,更好管理和维护,vuex 是用作组件间的通信,当然了如果页面够简单,也可以使用其他方法进行通信(传值),比如 props 等。

    axios

    说实话,项目前期我还用的是 vue-resource,后面才统一改用 axios (尤大大本人都力推的),二者都是用于客户端和服务端通信的,也就是用作 ajax 请求的。

    webpack

    webpack 是一款模块加载器兼打包工具,它能把各种资源,例如 JS (含 JSX )、coffee、样式(含 less/sass )、图片等都作为模块来使用和处理。比如,我们 vue 组件化开发,会用 ".vue" 文件,这种文件不会被浏览器所解析,所以需要用 webpack 来 "格式化" 他们,让他们变为浏览器可以解析的文件格式。还有,还有,用 webpack,你就可以愉快的使用 es6 的语法啦!

    express & mysql

    所谓一个"系统",怎么只能是简单的静态页面?在这里用了 express ( express 是一个基于 Node.js 平台的开发框架)和 mysql 来进行编写数据存储的后端 api,用于用户信息在数据库里存储和读取。

    pm2

    pm2 是一个带有负载均衡功能的 Node 应用的进程管理器,并保证进程永远都活着,0 秒的重载。其实它主要作用就是 nodejs 集群。按照我的理解,通俗的将,它的作用就是,本地开发环境,你要开启 node 服务,实现某些功能(比如监听某个端口),就会在控制台执行"node app.js"(比如这个文件叫 app 吧!),对应的 node 服务就会开启了,但是你只要一关闭这个控制台窗口,他就没有对应的服务进程了,每次起服务都得"控制台 -> node app.js"。在生产环境来说,很麻烦,这会就用到了 pm2,只需要执行一次"pm2 start app.js"。ok,一劳永逸,控制台窗口随你怎么自由开启关闭,对应的服务进程永远在后面运行着。

    项目预览

    Vue_blog(只适配了移动端)

    Github 源码

    Github 源码

    总结

    刚用 vue 开发的时候,遇到了很多问题,也犯了很多错误,不过,现在而言,自己收获蛮多。自己的 vue 博客(留言板)已经开发完成。我想说的是,麻雀虽小,五脏俱全,虽然只是一个小应用,但它涵盖了许多知识点,包括前端,后端,数据库等一个网站的所必须的一些组成要素,对我来说,学习意义很大,愿共勉!

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1559 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 16:26 PVG 00:26 LAX 08:26 JFK 11:26
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86