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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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