需求

在vue单页应用开发中,如果为了省事PHP代码和vue代码都放在同一个GIT仓库中
那么如何进行vue前端代码和php Api 后端代码组织呢?
下面提供一个组织方式

项目目录结构

frontend
public
.gitignore
.travis.yml
application
build.php
composer.json
extend
LICENSE.txt
phpunit.xml
README.md
runtime
tests
think
thinkphp
vendor

其中
frontend 为vue前端项目目录
public 为php的web目录,index.php入口文件在这里,nginx也配置的是public

vue 配置

文件 frontend/config/index.js

module.exports = {
  build: {
    env: require('./prod.env'),
    index: path.resolve(__dirname, '../../public/ui/index.html'),
    assetsRoot: path.resolve(__dirname, '../../public/ui'),
    assetsSubDirectory: 'static',
    assetsPublicPath: '/ui/',
    .........其他代码.......
  },

前台访问

api接口为
http://appweb.dev/v1/api

访问/ui/即可
http://appweb.dev/ui/

需要注意的问题

public/ui 目录为前端项目build后的文件,不适宜纳入git管理
线上发布的通过CI&CD工具解决
目前适用于PHP项目的CI&CD工具有
Jenkins
Walle 瓦力上线部署系统
Piplin 持续集成与部署系统

    //获取ip地址归属地开始
    import('ORG.Net.IpLocation'); // 导入IpLocation类
    $Ip = new IpLocation('UTFWry.dat'); // 实例化类 参数表示IP地址库文件
    $ipaddr = $order[0]['ip'];
    $iparea = $Ip->getlocation($ipaddr); // 获取某个IP地址所在的位置
    $this->assign('iparea', $iparea);
    echo $iparea['ip'];
    echo $iparea['country'];
    echo $iparea['area'];
    //获取ip地址归属地结束

thinkphp使用 utf-8版 UTFWry.dat 2012-10-25日更新@纯正IP数据库。utf-8版 UTFWry.dat下载

–2012年12月21日更新–

最新

gb2312_qqwry.dat和utf-8_UTFWry.dat_IP地址库20121221.zip下载