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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

俩方案:

  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年前

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