laravel blade模板引入外部js的问题

请教一下,假如我有一个模板文件aaa.blade.php,然后这个模板的js代码我写在了aaa.js文件里,然后我通过js外部引入的方式<script src="/static/js/aaa.js"></script>把aaa.js文件引入了aaa.blade.php,那么问题来了,这个aaa.js里需要用到我渲染模板视图时从控制器里传入的变量,比如我在aaa.js里要用var name = {{$name}},结果根本不能解析。这种情况要怎么做呢?(除了把js代码写在模板文件里这种方法)

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

俩方案:

  1. 引入js 改成include
  2. 在外部blade定义变量
    <script>
     var name = {{ $name }};
    </script>
    <script src="/static/js/aaa.js"></script>
2年前 评论
讨论数量: 6
playmaker

可以试试 把变量放到隐藏域里 在js里 通过dom 获取

2年前 评论

俩方案:

  1. 引入js 改成include
  2. 在外部blade定义变量
    <script>
     var name = {{ $name }};
    </script>
    <script src="/static/js/aaa.js"></script>
2年前 评论

@Adachi

方案1,include好像只能引入模板文件呢 ,你的意思是说把js代码也放在一个blade文件里吗。这样的话其实和直接写在一起没差别了,最终也是合并在一起的。 方案2的确可行,只是有时候传的变量太多或者变量是对象,就会很麻烦。哈哈 我想要的是在F12的时候,js文件是单独加载进来的这种效果。

2年前 评论
Adachi 2年前
清风 (作者) (楼主) 2年前
Adachi 2年前
<script>
    <?php include (dirname(__DIR__). '/../../packages/admin/src/Public/admin/admin/console.js');?>
</script>

我试过了 可以

2年前 评论

@Adachi 你这个F12后js也还是和模板在一个文件里呀 :joy:

2年前 评论
Adachi 2年前
清风 (作者) (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!