Laravel 5.0文件夹结构:公共与资源

时间:2015-02-13 09:28:12

标签: laravel laravel-5

在Laravel 4.2中,我使用 public 文件夹来存储我的所有CSS,JS,图像和上传。目前,Laravel 5.0安装中包含资源文件夹,其中包含资源文件夹:

/公共
/资源/资产

这让我感到困惑,特别是因为资源还包含观点

通过Laravel的升级指南(4.2到5.0):

  

从4.2应用程序中复制应用程序的公共资产   公共目录到新应用程序的公共目录。

并进一步:

  

您可以将Sass,Less或CoffeeScript移动到您的任何位置   希望。 resources / assets 目录可能是一个很好的默认位置。

问题:Laravel 5.0文件夹结构中公共资源文件夹之间的实际差异是什么?

4 个答案:

答案 0 :(得分:58)

这里最大的区别是public中的所有内容都是...... public resources不是。{0}。你放在哪里由你决定。

通常,您将拥有浏览器需要直接在公共目录中访问的所有内容。这通常意味着:JavaScript,CSS,图像,也许是一些视频或音频文件。

resources/assets适用于必须先编译或缩小的内容。所以你在resources/assets中会有一些LESS或SASS文件,它们会被编译并缩小成一个放在public目录中的CSS文件。

答案 1 :(得分:5)

Laravel elixir默认使用/ resources / assets文件夹作为编译,缩小等脚本的基本目录。所以你应该把你的原始sass,less,coffeescript,js和css文件放在那里让elixir做它的工作。您正在使用的文件的一个好地方是公用文件夹。

以这种方式工作时,您可以将所有文件连接在一起并缩小,并减少工作量。只需在公共文件夹中包含它们即可。

答案 2 :(得分:1)

您可以将它们视为用于开发和生产的单独文件夹。在资源中,您拥有所有不会投入生产的开发文件(SASS,Coffeescript,Babel,Jade等)。但是当它们被编译(或通过像Gulp之类的东西进行管道传输)时,您可以将它们配置为输出到公共生产文件夹。

答案 3 :(得分:0)

在laravel公用文件夹中最适合Image,CSS和Javascripts。在公共文件夹中,我们可以用于上传的图像,视频,文本文件等。