php vue同域,vue和TP5同域名下怎么部署??

前端使用vue-cli3 搭建的,后端使用TP5。但是它们的入口文件都不一样。

在配置的时候域名根目录要指向哪个入口文件呢?

要是指向vue的入口文件,那TP5的代码要放哪。要是指向TP5的public下的入口,vue是要放在public目录下吗?

以Apache配置为例:

DocumentRoot "D:\phpweb\PHPTutorial\WWW\VueThinkPHP\admin\public"

ServerName www.vuetp.com

ServerAlias vuetp.com

Options FollowSymLinks ExecCGI

AllowOverride All

Order allow,deny

Allow from all

Require all granted

上面域名根目录指向TP5的public下的入口文件.

vue打包的时候

publicPath: process.env.NODE_ENV === 'production' ? '/vue' : '/',

所以把vue打包后的dist目录下的文件放在根目录下的vue文件夹下面也就是在TP5的public/vue下面。

要是这么部署的haul这里有两个问题:

1.直接访问域名请求的是TP5默认控制器对应的首页

2.vue请求接口不对:

在vue代码里我的请求是这样的 this.$http.get('/index/testApi')

因为在开发的时候在vue.config.js配置跨域请求测试接口我配置的是:

proxy: {

'/index': {

target: 'http://www.tp.com', // 请求测试接口域名

ws: true,

changeOrigin: true, //是否跨域

pathRewrite: {

'^/index':'/index'

}

}

}

但是由于我部署的时候前端代码是放在TP5的public/vue下面的。

所以 this.$http.get('/index/testApi') 请求的时候变成了

http://www.vuetp.com/vue/inde...;按照域名配置指向的根目录。接口地址应该是

http://www.vuetp.com/index/te...

所以在开发的时候这个请求的接口地址需要怎么配置呢;还有就是部署的时候域名指向的入口文件是要指向前端入口还是后端的入口呢?

因为我们在开发的时候,通过跨域配置很容易请求到接口数据。但是部署的时候根本不知道运维是如何部署的。要是按照我上面说的那样部署的话,就会出现接口地址请求错误。 到时候整个前端接口请求都需要改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值