FLOWERS开发日志(三)开发环境与工作流

上两篇文章中我们拆分了项目的模块,按域名划分了路由,并大概规划了即将使用的技术栈。这篇中我们稍具体的记录一下几个重要的基础方面的构建过程。这只是一个起步的框架,后面会一步一步完善。

一、开发环境布置

homestead真的非常方便,最重要的是还能跨平台。我们只要同步Homesetead.ymal文件就能同步彼此的开发环境。
这是我配置的sites和databases:

sites:
    - map: flower.test
      to: /home/vagrant/Code/flower/public
    - map: passport.flower.test
      to: /home/vagrant/Code/flower/public
    - map: bbs.flower.test
      to: /home/vagrant/Code/flower/public
    - map: class.flower.test
      to: /home/vagrant/Code/flower/public

databases:
    - homestead
    - flower
    - class
    - bbs
    - admin

所有子域名都指向同一个项目入口,然后使用RouterServiceProvider来划分路由(部分代码):

public function map()
    {
        //获取访问地址前缀
        $sld_prefix = explode('.',$_SERVER['HTTP_HOST'])[0];

        switch ($sld_prefix) {
            case 'www':
                $this->mapWebRoutes();
                break;
            case 'passport':
                $this->mapPassportRoutes();
                break;
            case 'api':
                $this->mapApiRoutes();
                break;
            default:
                $this->mapWebRoutes();
                break;
        }
    }

二、前端工作流

前面已经说到了,前端工作流采用laravel-mix来做。laravel-mix基本上已经为我们准备了一切东西,我们要做的就是安装好laravel-mix。

laravel/ui可以方便的为我们安装bootstrap和vue等前端脚手架,我们先来装它。
安装laravel/ui:

composer require laravel/ui --dev

安装bootstrap和vue脚手架:

php artisan ui bootstrap
php artisan ui vue
npm install

开发开始之后,运行:

npm run watch

就可以实时的将修改应用来前台页面了。

三、登录脚手架

对于个性化不高的登录、注册系统,用laravel自带的auth系统就够用了。
安装用户认证脚手架:

php artisan ui:auth

安装好之后,我们改写了RouterServiceProvider(上面已经贴了核心代码),使路由支持子域名路由文件分离。

四、前端模板框架搭建
网站的头和尾基本每个页面都公用。所以,我们这样安置模板布局:

FLOWERS开发日志(三)
编写app.blade.php,在其中引入头和尾。之后的模板文件都继承app.blade.php。

现在,我们的passport子域已经可以访问:

FLOWERS开发日志(三)

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!