链接到 laravel + forge 中公用文件夹外的资产
Linking to assets outside publick folder in laravel + forge
我的浏览器找不到 css 文件中定义的图像。作为例子,我使用这个:
background-image: url(../../../resources/assets/img/logo.png); }
它在我的本地(windows 机器,未定义 Web 目录)上找到,但在我的测试服务器上找不到。
我使用laravel 5 + forge + elixer。在 Forge 中,我将我的 Web 目录定义为 "/public" 。
我的文件夹结构如下:
- 应用程序
- 配置
- 等等
- public
- css
- 全部-12345678.css
- js
- 全部-12345678.js
- 资源
- 资产
- img
- 图片-1.png
- 图片-2.png
- 图片-x.png
在我看来,我 link 到 css 和 js 文件是这样的。浏览器找到的文件:
<link href="{{ URL::asset('') }}{{elixir('css/all.css') }}" rel="stylesheet" type="text/css" />
<script src="{{ URL::asset('')}}{{ elixir('js/all.js') }}" type="text/javascript"></script>
如何 link 到 css 文件中的资产?或者我应该将它们替换到 public 文件夹中吗?
根据 documentation,resources
文件夹不是您想要的:
The resources directory contains your views, raw assets (LESS, SASS, CoffeeScript), and localization files.
此外,Laravel 明确使用 public
文件夹作为文档根目录,因此没有人可以访问此目录之外的 files/assets。您最好在 public
文件夹中创建一个文件夹 images
,然后将您的图像放在那里。
我同意@codedge,您应该从public 文件夹访问图像。如果您已经在使用 gulp,您可以将复印作业添加到 gulpfile.js。类似于:
elixir(function(mix) {
mix.copy('resources/images', 'public/images');
});
我的浏览器找不到 css 文件中定义的图像。作为例子,我使用这个:
background-image: url(../../../resources/assets/img/logo.png); }
它在我的本地(windows 机器,未定义 Web 目录)上找到,但在我的测试服务器上找不到。
我使用laravel 5 + forge + elixer。在 Forge 中,我将我的 Web 目录定义为 "/public" 。
我的文件夹结构如下:
- 应用程序
- 配置
- 等等
- public
- css
- 全部-12345678.css
- js
- 全部-12345678.js
- css
- 资源
- 资产
- img
- 图片-1.png
- 图片-2.png
- 图片-x.png
- img
- 资产
在我看来,我 link 到 css 和 js 文件是这样的。浏览器找到的文件:
<link href="{{ URL::asset('') }}{{elixir('css/all.css') }}" rel="stylesheet" type="text/css" />
<script src="{{ URL::asset('')}}{{ elixir('js/all.js') }}" type="text/javascript"></script>
如何 link 到 css 文件中的资产?或者我应该将它们替换到 public 文件夹中吗?
根据 documentation,resources
文件夹不是您想要的:
The resources directory contains your views, raw assets (LESS, SASS, CoffeeScript), and localization files.
此外,Laravel 明确使用 public
文件夹作为文档根目录,因此没有人可以访问此目录之外的 files/assets。您最好在 public
文件夹中创建一个文件夹 images
,然后将您的图像放在那里。
我同意@codedge,您应该从public 文件夹访问图像。如果您已经在使用 gulp,您可以将复印作业添加到 gulpfile.js。类似于:
elixir(function(mix) {
mix.copy('resources/images', 'public/images');
});