• vue克隆v2ex网站随记

    • 核心技术框架
    • 实现功能
    • 随记
    • 反向代理
    • 发布

vue克隆v2ex网站随记

核心技术框架

  • vue
  • vue-resource
  • vue-router
  • bootstrap
  • v2ex api
  • proxy 反向代理技术

实现功能

  • 基本克隆www.v2ex.com的功能
  • 自适应功能
  • 利用反向代理跨域访问v2ex api

随记

  克隆www.v2ex.com的页面样子并不困难,主要是在使用v2ex的api的时候遇到了不少问题,由于不同域的原因,就必须使用跨域解决,vue-resource提供了很好的跨域访问工具,在以前我用它来访问豆瓣的api的时候是没有问题的,但在这里就返回了ok=falsed的结果,而在f12下的network的status是200,并有正确的返回结果,这就让我很郁闷了。
  最后查了不少资料,最可恨的是对于v2ex api的介绍少之又少,不过天无绝人之路,况且以前克隆郭v2ex的大有人在,最终被我发现了一个大招,vue-cli提供的proxyTable的配置,即反向代理。

反向代理

  反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
  在vue-cli中只需在config/index.js中配置

    proxyTable: {'/api': {target: 'https://www.v2ex.com',changeOrigin: true,pathRewrite: {'^/api': '/api'}}},

changeOrigin参数,接收一个布尔值,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,不过只适用于开发环境。
  然后在使用this.$http.get('/api/xxxx/xxx')即可获取数据。

发布

  由于我的服务器是使用apache2,我就按照apache2的配置教程来配置对于v2ex的api的反向代理,然而又发现了一个问题,由于v2ex的api是使用https来进行传输的,最后怎么配置也没法配对,都会显示500错误,这是待解决问题。
  之后我选择了nginx作为网站服务器,发现nginx的配置真是简单多了,先安装
- sudo apt-get install nginx
- 修改/etc/nginx/sites-enabled/default,增加

location ^~ /static/ {gzip_static on;expires max;add_header Cache-Control public;
}location / {try_files $uri $uri/ /index.html;
}location /api { proxy_pass https://www.v2ex.com;proxy_buffers 16 4k;proxy_buffer_size 2k;
}

  github:vue-clone-v2ex
  demo:v2ex.alispace0.com
参考资料:
  v2ex-frontend
  v2ex-api

vue克隆v2ex网站随记相关推荐

  1. vue.js创建网站实例1

    搭建项目环境 网上的教程很多,随便搜一个,参考: https://blog.csdn.net/weixin_43844158/article/details/89788002 1)下载并安装node. ...

  2. java计算机毕业设计vue平顶山香山寺网站源码+数据库+系统+lw文档

    java计算机毕业设计vue平顶山香山寺网站源码+数据库+系统+lw文档 java计算机毕业设计vue平顶山香山寺网站源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  3. 【困扰了很久,实测已解决】MacBook上不了V2EX网站但Windows可以

    [困扰了很久,实测已解决]MacBook上不了V2EX网站但Windows可以 背景 为什么 MacOS 上不了 V2EX 网站 (https://www.v2ex.com/)? 而 MacBook ...

  4. 基于Springboot+Mybatis+mysql+vue宠物领养网站1.0

    基于Springboot+Mybatis+mysql+vue宠物领养网站 一.系统介绍 二.功能展示 1.主页(普通用户) 2.登陆.注册(普通用户) 3.宠物大全(普通用户) 4.宠物详情(申请领养 ...

  5. 防不胜防,你可能访问了一个被克隆的网站

    我们来看一下以下这2个网址:http://www.lcbc.com.cn.http://www.baiud.com,在此之前大家有没有发现有什么异样?仔细一看,大家会发现,工商银行的官网域名中的i被替 ...

  6. wordpress克隆站点_如何通过7个简单步骤克隆WordPress网站

    wordpress克隆站点 Generally speaking, cloning is considered an unethical practice. However, when you thi ...

  7. HTTrack - 克隆任意网站

    HTTrack可以克隆指定网站-把整个网站下载到本地. 可以用在离线浏览上,也可以用来收集信息(甚至有网站使用隐藏的密码文件). 一些仿真度极高的伪网站(为了骗取用户密码),也是使用类似工具做的. K ...

  8. 开源案例:Spring Boot + Vue 的音乐网站

    不知不觉这居家隔离也快一个月了,上海发布这每天增长的数字,也让人不知道什么时候是个头,不少居家许久的邻居,甚至拿出了低音炮享受起了音乐. 所以今天和大家分享一个音乐网站吧. music-website ...

  9. Prerender.io 配置过程 给你的VUE单页面网站增加一点seo吧~

    prerenderio 的使用和配置 作为一个网站,要想给别人搜索到,那么就要依靠搜索引擎的爬虫.那么我们如何让搜索引擎爬虫收录网站的信息呢?那就需要网站确实有信息: meta标签的关键词 meta的 ...

最新文章

  1. 复旦教授:在一般院校里,我可能连当副教授都不够格
  2. 天数换算月份_Js 计算指定月份的天数
  3. ABAP程序系统字段中英文详解
  4. hadoop上传文件报错
  5. 034 Maven中的dependencyManagement和dependencies区别
  6. 天锐绿盾解密_天锐绿盾签约兴威 助力食品行业信息防泄漏
  7. 三菱Q PLC解密 用户名功能块FB破解
  8. Frenet和笛卡尔坐标系互转
  9. 【C语言入门】四人火柴游戏
  10. 关于被锁机软件修改硬盘引导扇区锁机软件读取密码的方法
  11. HTML5中如何实现rpx布局
  12. Mac 打造高效工作流
  13. 流氓软件自动安装恶意插件导致浏览器闪退问题
  14. RAP2-DELOS 开源社区版本 (后端 API 服务器)
  15. Vue3通过axios来读取本地json文件
  16. 一文读懂机器学习,大数据/自然语言处理/算法全有了…… (非常好)
  17. 独立个人博客有什么用?建独立博客有何意义?
  18. 语音情感识别--语音(声音的预处理)
  19. 软件测试工作经验总结
  20. python计算协方差矩阵_协方差矩阵、相关系数矩阵的EXCEL和python实现

热门文章

  1. 题解:线性规划与网络流24题 T2 太空飞行计划问题
  2. 长方体体积 java程序_Java技术解决 长方体体积 问题
  3. 【公式编辑测试】解析几何-三角形外心重心垂心内心公式
  4. wintogo与多PE合盘
  5. IBM朱辉:大数据分析的5个高复制使用场景及案例分享(含PPT)
  6. 打败魔王(这是2022中兴捧月打榜的一道题)
  7. html5用一张图片铺满屏幕,html5绘图铺满整个屏幕
  8. JAVA 类声明中关键字public的作用
  9. 怎么样识别答题软件的真假
  10. 关于CreateEvent的简单理解