# v2ex_frontend **Repository Path**: liuyuantao/v2ex_frontend ## Basic Information - **Project Name**: v2ex_frontend - **Description**: 利用 vue.js 和 v2ex api 实现的 V2EX 社区克隆项目, 主要目的是为了学习 vue.js, 很适合学习 vue.js 的朋友参考. 这是一个前后端分离项目, 前端主要是 vue.js 和 vue-router, css 框架使用了 uikit. 后端利用 v2ex 开放的 api. 支持响应式布局. - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-05-08 - **Last Updated**: 2024-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # v2ex-frontend > A V2EX clone frontend project using Vue.js v2.0 and v2ex's api ## Demo 项目 Demo 请访问: ## 更新 Vue.js from 1.x to 2.0 项目升级更新详情: 第一步, 安装 [vue-migration-helper](https://github.com/vuejs/vue-migration-helper) 工具. ``` sh # install npm install --global git://github.com/vuejs/vue-migration-helper.git # navigate to a Vue 1.x project directory cd path/to/my-vue-project # scan all files in the current directory vue-migration-helper # scan all files in specific sub-directories vue-migration-helper src folder-a folder-b ``` 第二步, 根据提示信息修改文件中对应的地方. ![Screenshot](http://i.imgur.com/aHh5TfR.png) ## 支持服务端渲染 代码更改详情: 服务端渲染文档: 支持服务端渲染主要修改的是加一个中间件 `server.js`, 有一个需要注意的地方是配置服务端渲染后 `vue-resource` 加载时会报一个 `document is not defined` 错误, 错误详情可以查看这个 [Issue](https://github.com/vuejs/vue-resource/issues/455), 处理这个问题的方法是: 把这两行代码 ```javascript import VueResource from 'vue-resource' Vue.use(VueResource) ``` 改成下面的方式 ```javascript const inBrowser = typeof window !== 'undefined' if (inBrowser) { Vue.use(require('vue-resource')) } ``` 另外一个注意点是: 支持服务端渲染一些 package 的版本要升级, 具体可以查看 [更改详情](https://github.com/liuzhenangel/v2ex_frontend/commit/127d7235cb36422d83aa1bd242085c909d8608ee) 中的 `package.json` 文件 ## 项目介绍 v2ex_frontend 项目是一个利用 vue.js 和 v2ex api 实现的 V2EX 社区克隆项目, 主要目的是为了学习 vue.js, 很适合学习 vue.js 的朋友参考. 这是一个前后端分离项目, 前端主要是 vue.js 和 vue-router, css 框架使用了 uikit. 后端利用 v2ex 开放的 api. 支持响应式布局. ## 核心技术框架 * vue.js * uikit * lodash * vue-paginate * vue-router ## 系统依赖 * Node ( >= 6.5 ) * npm ( >= 3.10.6 ) ## 开发环境准备 第一步, 安装项目依赖 ```bash $ npm install ``` 第二步, 启动服务 ```bash serve with hot reload at 127.0.0.1:8000 $ npm run dev ``` 第三步, 浏览器访问: , 注意, 不能用 localhost 去访问, 这里利用反代跳过了 v2ex api 的跨域问题. 结束. ## 如何发布? 第一步, 配置nginx 先根据项目里的 `/config/nginx.conf.example` 文件, 修改其中的配置, 然后将文件复制到你的服务器上 nginx 所在目录的 `/etc/nginx/conf.d` 目录下, 命名为 xxx.conf 的文件. 然后重启 nginx. 第二步, 在 `package.json` 文件中添加 一条 deploy 命令放在 scripts 下. 参考: "deploy": "node build/build.js && scp -r dist/ 服务器用户名@服务器域名:~/项目所在目录/" 第三步, 发布 ```bash $ npm run deploy ``` ## 学习参考资料 vue.js 2.0 中文文档: vue.js 2.0 英文文档: vue-router 2.0 文档: vue.js 1.0 文档: lodash 文档: uikit 文档: v2ex api: , ## React.js 项目 项目 Demo 请访问: 项目代码: ## 贡献者 * Rina ## Roadmap - [ ] 登录与注册( 由于 v2ex api 未实现完全, 暂无法实现功能 ) - [ ] Tag 过滤支持( 由于 v2ex api 未实现完全, 暂无法实现功能 ) - [ ] 用户详情页( 由于 v2ex api 未实现完全, 暂无法实现功能 ) ## LICENSE MIT