我很难理解有人如何index.html使用Laravel 加载文件.它似乎只适用于index.php,这不是我想要的.
这是一个问题:
我有两个文件夹客户端和服务器.我的服务器文件夹包含整个Laravel应用程序.我的客户端目录包含AngularJS应用程序.(我不能使用公共目录)
我希望Laravel index.html与客户端目录中的所有静态文件一起提供服务.
改变'public' => __DIR__.'/../public'确实有点工作,但随后它打破了我的所有路线,即无论我输入什么URL index.html都加载了破坏的静态资产.例如/api/users,不再返回JSON对象,但是相同index.html.
小智 11
我不知道你的文件结构是怎么回事,但是,通过你可以使用的php引擎加载html文件:
View::addExtension('html', 'php');
Run Code Online (Sandbox Code Playgroud)
然后,
Route::get('/', function()
{
return View::make('index');
});
Run Code Online (Sandbox Code Playgroud)
应该返回index.html.
我相信我现在理解你了。这是一个潜在的解决方案,假设目录结构类似于以下内容:
/
/client
index.html
/server
/app
/bootstrap
/public
/vendor
...
Run Code Online (Sandbox Code Playgroud)
在 Laravel 中使用刀片模板。您的机箱非常独特,因此它不会是“普通”刀片模板。它可以看起来像这样:
{{ file_get_contents(base_path() . '../client/index.html') }}
Run Code Online (Sandbox Code Playgroud)
如果您可以使用目录index.php内的文件,/client它也可能如下所示:
<?php include base_path() . '../client/index.php'; ?>
Run Code Online (Sandbox Code Playgroud)
我只是指出这一点,因为如果您需要或愿意,您可以在文件内使用其他 PHP 语句。您还可以将数据从控制器一路向下传递到该index.php文件中View::make('angular')->with('var', $var),并且它们将自动位于范围内。
这看起来有点老套,确实如此,但应该可以让您不必修改其他任何内容。当然,您的index.html文件应该包含角度应用程序的完整标记。另一个好处是,由于您几乎仍然完全包含在 Laravel 中,因此如果不需要(无论出于何种原因),您可以将内容“向上”移出角度应用程序并返回到框架中。
| 归档时间: |
|
| 查看次数: |
8870 次 |
| 最近记录: |