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 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

俩方案:

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

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

3年前 评论

俩方案:

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

@Adachi

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

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

我试过了 可以

3年前 评论

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

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

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