用 Vue 全家桶二次开发 V2EX 社区
一、开发背景
- 为了全面的熟悉Vue+Vue-router+Vuex+axios技术栈,结合V2EX的开放API开发了这个简洁版的V2EX。 在线预览
- API来自官方以及djyde的整理。
- 在线访问请节制使用,跨域是通过Nginx配置反向代理实现的,所以每小时120次API请求是算在服务器头上的(没啥说的了)。
- 当页面刷新后也无法显示,请查看控制台的异步请求是否返回403。如果是的话,要么你等等(很久),要么你clone这个库到本地去玩。
- 项目地址:v2ex-vue
二、项目演示
分类页

文章页 & 用户页

懒加载

移动端

路由
首页默认显示最新的帖子
- 首页 /
- 全部 /topic
- 分类 /topic/:name
- 文章 /article/:id
- 用户 /user/:name
结构
目录是cmd生成的(稍微进行了一下修改,默认的太难看了) tree /f >tree.txt
├─components
│ Topic.vue // 某一分类下的文章或某个用户的全部文章
│ TopicList.vue // 全部分类
├─router
│ index.js // 路由
├─store
│ state.js // 存放API地址和最近一次请求的文章和评论
│ getters.js // 读取state的值
│ mutations.js // 存储懒加载
│ actions.js // 存储异步请求
│ index.js // Vuex
├─ App.vue // 主页面
├─ main.js // Vue主文件
三、项目优势
- 界面设计简洁
- 沉浸式的阅读体验
- 可以按分类/文章/用户浏览
- 在文章页显示用户评论
- 图片使用懒加载模式
- 总之,实现了你看帖所需要的一切
- 项目基于Vue全家桶
- 适配移动端
- 有完善的文档注释
- 有疑问欢迎提交issue
- 感兴趣的欢迎给颗star _
- ...
四、项目缺陷
- 不支持翻页(没有找到翻页的API)
- ...
五、项目安装
项目兼容IE9+,使用项目前,请确保安装好了NodeJS。
git clone https://github.com/bergwhite/v2ex-vue.git // 克隆项目
cd v2ex-vue // 进入项目目录
npm install // 安装依赖
npm run dev // 运行项目
六、解决方案
6.1 本地开发跨域方案
本地开发中,通过配置代理表实现跨域。
config/index.js
-------------------
proxyTable: {
'/api': {
target: 'https://www.v2ex.com',
changeOrigin: true,
pathRewrite: {
'^/api': '/api'
}
}
}
6.2 让Vuex支持IE
直接引入Vuex无法在IE中显示,需要引入babel-polyfill。
npm install babel-polyfill --save-dev // 安装babel-polyfill
src/main.js
---------------
import 'babel-polyfill' // 在vue主文件中导入
6.3 在线部署跨域方案
通过配置Nginx反向代理实现跨域。由于是代理HTTPS,所以你需要生成SSL证书。
/etc/nginx/nginx.conf
------------------------------
http {
server {
listen 80;
listen 443;
server_name www.v2ex.com;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /api/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://www.v2ex.com/api/;
}
}
}
PS:正在找工作,北京有坑的欢迎联系
用 Vue 全家桶二次开发 V2EX 社区的更多相关文章
- Vue 全家桶 + Electron 开发的一个跨三端的应用
代码地址如下:http://www.demodashi.com/demo/11738.html GitHub Repo:vue-objccn Follow: halfrost · GitHub 利用 ...
- [在线+源码]vue全家桶+Typescript开发一款习惯养成APP
# vue-ts-daily 基于Vue.js的2.5.13版本和TypeScript编写的模仿原生应用的WebApp. [源码地址](https://github.com/xiaomuzhu/vue ...
- Vue全家桶之组件化开发
Vue全家桶之组件化开发 一.组件 组件 (Component) 是 Vue.js 最强大的功能之一 组件可以扩展 HTML 元素,封装可重用的代码 二. 组件注册 2.1 全局注册 Vue. ...
- 使用vue全家桶制作博客网站
前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue.vue-router.vuex.v ...
- 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
使用vue全家桶制作博客网站 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...
- Vue全家桶介绍
一直不清楚全家桶是什么玩意,上网搜了一下,才知道就是平时项目中使用的几个依赖包,下面分享一下 Vue 全家桶介绍 Vue有著名的全家桶系列,包含了vue-router(http://router.vu ...
- Vue全家桶高仿小米商城
大家好,我是河畔一角,时隔半年再次给大家带来一门重量级的实战课程:<Vue全家桶高仿小米商城>,现在很多公司都在参与到商城的构建体系当中,因此掌握一套商城的标准开发体系非常重要:商城的开始 ...
- 【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目
使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g ...
- Vue全家桶
简介 “简单却不失优雅,小巧而不乏大匠”. Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架.它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计. 为什么 ...
随机推荐
- 从spring官网下载spring 架包
1.找到spring官网地址:http://spring.io/ 2.点击projects 3.点击springframework 4.点击图片
- js精确计算
官方文档:http://mikemcl.github.io/big.js/ 使用方法: x = new Big(0.1); y = x.plus(0.2); // '0.3' var a=Big(0. ...
- JAVA-实例方法被覆盖,静态方法被隐藏Explain
被覆盖比较好理解,类似于多态的实现. 被隐藏是指静态方法的访问是根据当前对象的表面类型来决定的,比如 Supers = new Sub(); s.greeting()访问的是Super的静态方法,如果 ...
- FitVids,一个轻视频插件,操作简单
最近在找一个视频插件,偶尔看见一个口碑啥的都不错的插件,FitsVids. fitvids.js 是个轻量级,易于使用的 jQuery 插件,用来在网页上播放指定宽度的嵌入视频.Fitvides.js ...
- get_category_recommend_goods的正确使用
get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0, $max = 0, $ext='') 位于lib_ ...
- Git版本管理荟萃
用惯了svn,突然转到git难免有点不适,写个笔记好好备忘总结一番. 一.先看历史(imooc上的一个图): 二.git与svn GIT跟SVN一样有自己的集中式版本库或服务器.但,GIT更倾向于被使 ...
- JavaScript定时器分析
一.事件循环 JavaScript是单线程,同一个时间只能做一件事情,所以执行任务需要排队.如果前一个耗时很长,那么下一个只能等待. 1)两种任务 为了更好的处理任务,JavaScript语言的设计者 ...
- 简单c语言子集词法分析器
概述 词法分析是编译的第一个环节,其输入是高级语言程序,输出是单词串.词法分析器的主要任务是将高级语言程序作为字符串输入,然后依据词法规则将字符串组合成单词,并输出单词串. 为了方便之后的编译环节,通 ...
- TDD 中关于mock一些理解
最近在写代码的UT时case注意到: 在写某个类的test suit时,如果这个类既有组合(Composition),又有聚合关系(Aggregation). 组合关系(Composition):部分 ...
- CSS border实现各个方向等腰直角三角
CSS代码: .border_cort, .border_corr, .border_corb, .border_corl { display: inline-block; ; ; border-wi ...