Laravel 5.0 文件夹结构:公共与资源
Posted
技术标签:
【中文标题】Laravel 5.0 文件夹结构:公共与资源【英文标题】:Laravel 5.0 folder structure: public vs. resources 【发布时间】:2015-04-14 07:12:23 【问题描述】:在 Laravel 4.2 中,我使用 public 文件夹来存储我所有的 CSS、JS、图像和上传文件。目前,随着 Laravel 5.0 的安装,有一个新的 resources 文件夹,其中包含 assets 文件夹:
/public/resources/assets
这让我很困惑,尤其是因为 resources 还包含 views。
通过 Laravel 的升级指南(4.2 到 5.0):
从 4.2 应用程序的 public 目录添加到您的新应用程序的公共目录。
还有:
您可以将您的 Sass、Less 或 CoffeeScript 移动到您想要的任何位置 希望。 resources/assets 目录可能是一个不错的默认位置。
问题: Laravel 5.0 文件夹结构中 public 和 resources 文件夹的实际区别是什么?
【问题讨论】:
【参考方案1】:这里最大的不同是public
中的所有内容都是...public。 resources
不是。你把什么放在哪里取决于你。
通常,浏览器需要直接访问公共目录中的所有内容。这通常意味着:javascript、CSS、图像,可能还有一些视频或音频文件。
resources/assets
用于必须首先编译或缩小的内容。因此,resources/assets
中有一些 LESS 或 SASS 文件,它们会被编译并压缩成一个 CSS 文件,然后放在 public
目录中。
【讨论】:
【参考方案2】:Laravel elixir,默认使用 /resources/assets 文件夹作为脚本编译、压缩等的基础目录。所以你应该把你的原始 sass、less、coffeescript、js 和 css 文件放在那里,让 elixir 完成它的工作。存放您正在使用的文件的好地方是公用文件夹。
以这种方式工作时,您可以通过 gulp 和更少的工作来连接和缩小所有文件。只需从您的公共文件夹中包含它们。
【讨论】:
【参考方案3】:您可以将它们视为用于开发和生产的单独文件夹。在资源中,您拥有所有不会交付生产的开发文件(SASS、Coffeescript、Babel、Jade 等)。但是当它们被编译(或通过 Gulp 之类的管道)时,您可以将它们配置为输出到公共的生产文件夹。
【讨论】:
【参考方案4】:在 laravel 公共文件夹中最适合 Image、CSS 和 Javascripts。在公共文件夹中,我们可以用于上传图片、视频、文本文件等。
【讨论】:
以上是关于Laravel 5.0 文件夹结构:公共与资源的主要内容,如果未能解决你的问题,请参考以下文章