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代码写在模板文件里这种方法)

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 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年前

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