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(上面已经贴了核心代码),使路由支持子域名路由文件分离。
四、前端模板框架搭建
网站的头和尾基本每个页面都公用。所以,我们这样安置模板布局:
编写app.blade.php,在其中引入头和尾。之后的模板文件都继承app.blade.php。
现在,我们的passport子域已经可以访问:
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: