Laravel - 在 .js 文件中获取基本路径而不是在 blade 模板中

Laravel - get base path in .js file not in blade template

如果我想在 blade 模板中获取基础 url,那么我使用了这个:

{{ url (' / ') }}

如果我的脚本在 blade 模板上,那么我使用了这个:

<script>
   var base_path = {{url('/')}} // same as above.  
</script>

但是如果我在 blade 模板上添加 js 文件,那么如何在该 js 文件上获取 base url

让我展示一下我的尝试:

首先我在 blade 模板中添加了脚本文件。

<script src="js/test.js"></script>

test.js file

var base_path = "{{url('/')}}"; // not working

var base_path = "<?php echo {{url('/')}} ?>"; // not working

var base_path = "<?php {{url('/')}} ?>"; // not working

alert(base_path); 

但是上面的和平代码不起作用,我无法获得基础url。

知道如何处理这个小问题。

您无法使用任何方法直接访问它

var base_path = "{{url('/')}}";

var base_path = "<?php echo {{url('/')}} ?>"; 

var base_path = "<?php {{url('/')}} ?>"; 

您可以执行以下操作来访问它。

在页脚中放置一个隐藏的输入。

<input type="hidden" value="{{url('/')}}" id="url" name="url">

现在可以在js中访问了,如下所示

var base_path = $("#url").val();

在初始化任何js之前在header中创建一个全局js变量

const base_path = '{{ url('/') }}\/';
// ex: "http://127.0.0.1:8000/"

现在您可以在您的 js 中使用它了