对非PHP文件使用Laravel@include指令


Use Laravel @include directive with non PHP files?

我一直在寻找一种使用非PHP文件扩展名的Laravels Blade模板引擎的方法(而不是file_name.blade.php可以使用file_name.blade.jsfile_name.blade.css),但没有成功。我发现一个帖子似乎描述了如何为Laravel 4做到这一点,但它似乎不再适用于Laravel 5。我之所以想这样做,是因为我有一个Javascript文件,看起来像这样:

//JS stuff
@foreach($Model->Values as $Value)
    {{ $Value->name . " = " . $Value->content . ";"}}
@endforeach
//More JS stuff

还有一个blade.php文件,看起来像这样:

//Blade stuff
<script type="text/javascript">
@include('js');
</script>

这似乎是将每个值传递给javascript的最佳方式。即使有更好的方法将这些值传递给javascript,这个问题背后的原因是找到是否有一种方法可以用blade解析非PHP文件,我认为这可能非常有用。

我认为View::addExtension('blade.js', 'blade')也可以在L5中工作。方法没有改变。但请注意,你想要的是blade引擎,而不是你链接到的帖子中的html引擎。不过,把它放在哪里是个好问题。此外,您提到您的两个文件在扩展名之前有相同的名称,这可能也会搞砸。