You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode中为script标签内的Laravel Blade指令添加语法高亮?

Laravel Blade脚本标签内指令无法高亮的问题及解决方法

问题

我有一个基础的Laravel Blade组件,代码如下:

@if(true)
    <div class="button-comp"></div>
@endif

<script>
@if(true)
    document.querySelector('.button-comp').addEventListener('click', (e) => console.log(e) );
@endif
</script>

其中<script>标签内的Blade @if指令无法正常高亮。我已安装Laravel Extra Intellisense和Laravel Blade Snippets扩展,请问是否遗漏了相关设置?

解决方法

该问题由Laravel Blade Snippets扩展导致,已有其他用户遇到相同情况。目前唯一可行的解决方案是避免在<script>标签内使用Blade指令,转而将PHP变量传递给JS,用JS自身的条件语句实现逻辑。示例代码如下:

@php
    $enableClickHandler = true;
@endphp

@if($enableClickHandler)
    <div class="button-comp"></div>
@endif

<script>
    // 将PHP变量转为JS变量
    const enableClickHandler = {{ $enableClickHandler ? 'true' : 'false' }};
    
    if (enableClickHandler) {
        document.querySelector('.button-comp').addEventListener('click', (e) => console.log(e) );
    }
</script>

内容的提问来源于stack exchange,提问作者silvered.dragon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:01:55