我一直在寻找一种使用非PHP文件扩展名的Laravels Blade模板引擎的方法(而不是file_name.blade.php
可以使用file_name.blade.js
或file_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引擎。不过,把它放在哪里是个好问题。此外,您提到您的两个文件在扩展名之前有相同的名称,这可能也会搞砸。