VUE本地开发第三弹:vue-cli+nginx实现本地开发

之前写过两篇博客,都是关于如何使用vue-cli进行本地开发的,但仍是覆盖不到所有的场景(至少我目前开发遇到了这样的情况)。后来找到了一套解决方案,如题,即使用nginx转发线上接口,从而配合vue-cli完成本地开发。接下来就这种方法作一个分享。

第一步:安装nginx
nginx的安装很方便,具体安装以及基础配置可参照:http://www.cnblogs.com/cheemon/p/5638394.html
注:在安装完成后,如果遇到无法启动的问题,可能是以下两种情况造成的:
1、MAC自带的Apache的启动占用了80端口,解决办法是关闭Apache服务器:

sudo apachectl stop

2、MAC本身对80端口的占用,具体的解决办法可参照我之前的博客:http://blog.csdn.net/mrblacklu/article/details/70739777

第二步:在nginx.conf中配置nginx进行接口转发
找到文件中的server配置,

server {
 listen       80;
 server_name  loc.test.com;

 location / {
     proxy_pass http://loc.test.com:8080/;
     proxy_redirect off;
     proxy_set_header Host $proxy_host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_set_header Cookie $http_cookie;
 }

location /api {
    proxy_pass http://m.online.com;
    proxy_redirect off;
    proxy_set_header Host $proxy_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Cookie $http_cookie;
    proxy_cookie_path /api /;
}
........
}

其中,listen是nginx监听的端口,server_name是nginx监听的域名。location的配置中,proxy_pass配置的是转发的目的域名,所有对http://loc.test.com的请求会转发至http://loc.test.com:8080。之后的api设置是对线上环境接口的转发,所有对http://loc.test.com/api的请求会转发至线上的接口地址http://m.online.com

第三步:配置vue-cli中,config下的index.js文件,修改dev设置:

 dev: {
 env: require('./dev.env'),
 port: 8080,
 autoOpenBrowser: true,
 assetsSubDirectory: 'static',
 assetsPublicPath: '/',
 proxyTable: {
   '/api': {
     target: 'https://xxxx/api',
     changeOrigin: true,
     pathRewrite: {
       '^/api': ''
     }
   }
 },

端口号改为8080,以便nginx实现转发。proxyTable中配置接口转发,配置解释见:http://blog.csdn.net/mrblacklu/article/details/63888636

第四步:修改vue-cli本地开发域名设置
打开build下dev-server.js文件,修改uri的地址为loc.test.com,即nginx中所配置的监听的域名。

第五步:修改本地hosts配置
将第四步中设置的域名配置到hosts文件中:

127.0.0.1 loc.test.com

所有步骤完成后,运行

sudo nginx
npm run dev

到这步为止,项目即可正确运行,开始本地开发。

注意:按照此种方法配置的童鞋,在每次重启电脑运行本地vue-cli项目之前,需要关闭所有对80端口占用的服务,否则nginx无法启动!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值