如何优雅的在一台vps(云主机)上面部署vue+mon
网络编程 2021-07-04 15:50www.168986.cn编程入门
这篇文章主要介绍了如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目,长沙网络推广觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
项目 vue + express + mongodb
项目前后分离部署在一台服务器上面
- express端口3000
- mongodb端口27017
- vue端口本地是8080 服务端是80
本地开发配置
本地开发基于vue cli 端口是 8080如果请求api的时候在前缀加上localhost:3000会提示跨域问题,我们可以使用狼蚁网站SEO优化方式来解决这个问题
在vue项目路径找到这个文件 /vue-item/config/index.js 找到这行代码
proxyTable: {}
添加如下配置
demo:
proxyTable: { '/v1/':{ target: 'http://localhost:3000/', pathRewrite: { '^/v1': '/' } } }
v1 是我给api自动添加的前缀
这个前缀可以使用 axios 配置添加
在main.js 主入口文件添加
如下
import apiConfig from '../config/api.config' // import axios import Axios from 'axios' import VueAxios from 'vue-axios' Vue.use(VueAxios, Axios) // Axios.defaults.baseURL = apiConfig.baseUrl; Axios.defaults.baseURL = 'v1/' 这样也ok的
api.config
判断是开发模式还是本地模式,其实不需要这么麻烦 直接
const isProdMode = Object.is(process.env.NODE_ENV, 'production') module.exports = { baseUrl: isProdMode ? 'api.shudong.wang/v1/' : 'v1/' }
如果把axios 配置了自动前缀
每次访问的时候
data(){ return { articleList:Object } }, mounted: function(){ this.getArticleList() }, methods:{ getArticleList(){ console.log(111111111) this.$http.get("/article/list") // this.$http axios使用的一种方式 .then((response)=>{ console.log(response.data) let res = response.data; this.articleList = res.data; }) .catch((error) =>{ console.log(error) }) } },
上面请求的例子中相当于访问 localhost:8080/v1/article/list
这样就可以解决跨域问题
其实最终访问的是 localhost:3000/article/list express的api
这个v1只是api版本的标识,如果想带着,并且api是可以v1版本方式访问的,把代理的路径重新规则去掉就可以
操作如下
proxyTable: { '/v1/':{ target: 'http://localhost:3000/', //pathRewrite: { //这个规则去掉 // '^/v1': '/' /
上一篇:JavaScript中import用法总结
下一篇:js序列化和反序列化的使用讲解
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程