Laravel 网站项目目录结构规划

最近在用Laravel这个PHP框架搭网站,大致了解这个框架的目录结构之后感觉学到了不少东西。



首先安装好包管理器:

PHP部分当然用composer,安装在全局目录下方便一点。

前端部分,我没有选择npm而是使用更“先进”的yarn。



可以打开 Laravel的官方文档 以供参考。

我写这文章是为了理清楚自己的开发思路,以前我直接把整个网站项目从服务器复制到自己的电脑上进行编写,但是这样需要复制的东西实在太多了,大部分是我根本就不会去动第三方的库。所以我得搞清楚如何做能够只需要下载最少的文件,就能够保持我电脑与服务器的文件的同步。这样也方便在本地开服务器进行代码测试,而不用每次都得同步本地修改到服务器,再从服务器测试代码运行结果。

大致的思路就是,只同步包管理器的配置文件,再在本地通过包管理器读取这些配置文件下载与服务器相同的第三方库。

1. PHP的依赖

安装好Larvel之后,根目录下会有composer用于存放第三方库的文件夹 vendor,这个文件夹里的东西全部可以加进.gitignore,事实上Laravel默认gitignore 也是这么做的。我们只需要在git加上composer.json就可以同步PHP所使用的库了。

这样从git pull下来的repo,只需要执行composer install就能获得与服务器上相同的库。

2. 前端项目的依赖

前端的库都会放在 Laravel 根目录下 node_modules 目录(以下简称nm)里,这个nm应该放在gitignore里,不同步到git,仅同步packages.json 及 yarn.lock(如果用yarn来替代npm的话)。

本地的repo里,只需要yarn install便能获得与服务器上相同的库。

3. 前端资源的存放

Laravel还有两个文件夹public及resources,本来我一直都是把css js以及其他资源文件比如图片直接放在public文件夹里的,但是似乎这么做是不妥的,特别是使用scss/sass以及Typescript这种需要编译才能生成实际浏览器使用的css/js的文件。

一种比较合理的做法是,将scss以及typescript放在resources里,转译出的最终文件放在public下。这样浏览器可以访问最终css/js文件,但是访问不到源文件。如果转译再minify的话这样做也很方便。总之就是将源文件剥离出public目录,防止用户访问。

转译之类的操作可以使用webpack,同时还可以实现更多高级特性比如模块化。

时间: 2024-08-17 04:17:36

Laravel 网站项目目录结构规划的相关文章

网站项目后台的目录命名为admin后,网页莫名其妙的变样了

这是我的第一篇博客文章,与其说是分享经验,倒不如说是求助 最近因为要完成一个课程设计,在拿一个现成的项目过来改,要用到select下拉菜单,可是发觉怎么我的这个下拉菜单怎么变样了 刚开始它是这样的 感觉怎么有点不对 而我把这份文件拷到其他目录运行 这下正常了 后来我想啊想,我的网站项目后台相关文件都放在admin这个目录下,我把这份文件放到apache的网站根目录,显示正常,但唯独放到admin目录下就变成第一张图那种样子了,而且其实那个绿色并不是我在网页里面写的背景色,而是我windows系统

Laravel项目目录结构说明

Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app.php |- autoload.php |- config 应用程序的配置文件. |- database 数据库迁移与数据填充文件. |- public 项目web入口和静态资源文件 (图片.js.css,字体等等). |-index.php 入口 |- resources 目录包含视图.原始的资

laravel大型项目系列教程(六)之优化、单元测试以及部署

本节教程将讲解错误处理.配置文件的使用.单元测试以及部署到Apache服务器. 1.错误处理 如果用户访问的URL不存在或者服务器存在错误时,我们不希望返货一个错误的页面,而想返回一个友好提示的页面,在Laravel中可以很轻松地实现,Laravel有很简单的错误和日志处理,当服务器端存在错误时,app/start/global.php里默认有一个处理所有异常的异常处理程序: App::error(function(Exception $exception) { Log::error($exce

Laravel大型项目系列教程(六)之优化、单元测试及部署

一.前言 本节教程将讲解错误处理.配置文件的使用.单元测试以及部署到Apache服务器. 二.Let's go 1.错误处理 如果用户访问的URL不存在或者服务器存在错误时,我们不希望返货一个错误的页面,而想返回一个友好提示的页面,在Laravel中可以很轻松地实现,Laravel有很简单的错误和日志处理,当服务器端存在错误时,app/start/global.php里默认有一个处理所有异常的异常处理程序: App::error(function(Exception $exception) {

Tarena公司网站项目实施方案

一.项目需求: Tarena公司,已经购买域名tarena.com.目前想实现以下服务 官网服务:www.tarena.com 邮件服务:mail.tarena.com 文件服务:ftp.tarena.com 二.项目规划: 1.设备及网络选型: 设备选型:四台Dell R710服务器,一台思科WS-2960S-24TS-S交换机,一台思科2951路由器 网络选型:由于公司业务为职业教育培训,其主要潜在目标群为大学生,所以需要要教育网访问. 而且考虑到服务器严重故障时可以第一时间派工程师到现场抢

j2ee网站项目首页如何直接使用action

之前做过一些网站项目,大多数都是首页就是登录,直接进入首页的不多,也就没有注意到,今天刚好注意到了就来记一下.也算是一个小技巧 <welcome-file>index.jsp</welcome-file>大部分人在一开始做网站往往都在webxml中这么配置,这样可以直接用网站根目录访问首页. 但是这么做有问题,那就是如果你首页的数据是从数据库里面来的(虽然对于大型网站来说数据要么缓存要么静态),那么,你肯定想要去直接调用action. <welcome-file>ind

将网站项目转为 Web form应用程序(转)

转自 http://blog.sina.com.cn/s/blog_53729e4601014ze9.html 本文介绍如何将现有的 Microsoft Visual Studio 2005 网站项目转换为 Microsoft Visual Studio 2005 Web 应用程序项目.Web 应用程序项目模型使用的概念方法与 Visual Studio .NET 2003 中的 Web 项目相同.该概念方法包括一个项目文件,用于将文件和编译包含到单个程序集中,或将它们排除在外. 要完成转换操作

基础才是重中之重~网站bin目录下的程序集自动加载

回到目录 网站bin目录下的程序集一般由系统项目,项目引用的外部DLL及外挂DLL组成,它们在网站运行时会自动加载,这一点很重要,项目本身DLL及项目引入的DLL会自动加载,这没有问题,而外挂在bin目录的DLL也会自动加载,这很重要,因为,它可以使我们的应用程序更加灵活,在开发通用功能上,也显得扩展性更强! 一个例子,比如一个HttpModule,它是一个通用的功能,向页面添加一些缓存过期的共用信息,这对于你所有网站都是共用的,这时,可以建立一个HttpModule项目,它代码可能是这样 na

Laravel大型项目系列教程(三)之发表文章

Laravel大型项目系列教程(三)之发表文章 一.前言 上一节教程中完成了用户管理,这节教程将大概完成发表Markdown格式文章并展示的功能. 二.Let's go 1.数据库迁移 文章模块中我们需要建立articles.tags以及article_tag表,每篇文章会有一到多个标签,每个标签会有一到多篇文章,创建迁移文件: $ php artisan migrate:make create_articles_table --create=articles $ php artisan mig