Laravel 9:在哪里放置常用的JavaScript文件?

6 浏览
0 Comments

Laravel 9:在哪里放置常用的JavaScript文件?

在我正在进行的Laravel 9项目中,我希望将包含常用函数的javascript文件放在app.blade.php中。根据如何在Laravel 5.5中包含外部CSS和JS文件,我将js文件放在public/js文件夹中,并在app.blade.php中包含了以下内容:

 

然而,这个文件没有被包含在页面中,并且文件中包含的js函数在控制台中不可用。

有人可以告诉我如何包含一个js文件,使其在所有页面上都可用吗?

谢谢。

0
0 Comments

Laravel 9: 如何将公共Javascript文件放在哪里?

在使用asset()函数渲染路径时,需要检查路径是否正确,如果不正确,可以从.env文件的ASSET_URL中更改资源路径。

我认为我不应该更改ASSET_URL,而是应该将文件放在所需(正确)的文件夹中。在我的本地系统上,当我使用asset('js/common_ravi.js')时,它显示了"localhost/js/common_ravi.js"。不确定是否正确。

打开localhost/js/common_ravi.js时,你是否得到了文件内容?如果没有,请检查public/js中是否存在该文件。

嗯,不是使用localhost,而是使用127.0.0.1:8000/js/common_ravi.js,我在浏览器中看到了文件内容。我的Javascript文件路径是/ Users / Home / laravel_apps / cota / public / js / common_ravi.js(我的应用程序根文件夹是/ Users / Home / laravel_apps / cota)。所以我相信一切都在正确的位置上。

尝试在.env文件中更正你的应用URL,将APP_URL=http://localhost更改为APP_URL=http://127.0.0.1:8000

Ahmed,我按照你的建议进行了更改。现在asset('js/common_ravi.js')返回了"127.0.0.1:8000/js/common_ravi.js"。然而,我在"view-source"中仍然看不到文件。我注意到页面源代码没有反映在app.blade.php中的更改,尽管我使用了npm run dev,并清除了浏览器缓存和php artisan cache:clear。也许这就是问题所在...但为什么更改没有反映出来?

你的浏览器中是否安装了某种广告拦截器?xD如果文件路径和URL都正确,请检查广告拦截器xD

我不这么认为。这是我两个星期前买的新Mac电脑。我没有安装任何与广告拦截有关的东西。

0
0 Comments

问题的原因是在Laravel 9中,我们需要确定在哪里放置公共的JavaScript文件。这个问题的解决方法是运行以下命令php artisan view:clear,但是这并没有帮助解决问题。在问题中还有一个问题是是否在Laravel中使用了Vue,或者只是使用了Laravel。如果是Laravel与Vue一起使用,可以按照stackoverflow.com/a/71809190/17154158中的答案进行操作。

0
0 Comments

问题的出现原因是在使用Laravel和Vue的情况下,无法在Vue组件中使用common_js.js文件中的函数。

解决方法是将common_js.js文件放置在resources文件夹中,并在webpack.mix.js中更新配置,将其包含在编译中。然后,在app.blade.php中使用mix函数引入编译后的js文件。最后,运行npm run dev进行编译。

具体步骤如下:

1. 将common_js.js文件放置在resources/js文件夹中。

2. 打开webpack.mix.js文件,在mix.js函数的第一个参数中添加common_js.js的路径。

3. 在app.blade.php文件中,使用mix函数引入编译后的js文件。代码为:<script src="{{ mix('js/app.js') }}" defer></script>

4. 运行npm run dev进行编译。

5. 在Vue组件中可以使用common_js.js文件中定义的函数。

作者提到在更新webpack.mix.js文件后,运行npm run dev时,common_js.js文件中的函数被包含在public/js/app.js中。然而,在app.blade.php文件中,作者提到已经包含了<script src="{{ asset('js/app.js') }}" defer></script>,因此是否需要再次包含<script src="{{ mix('js/app.js') }}" defer></script>。作者指出,尽管common_js.js文件中的函数现在可用了,但仍然无法在Vue组件中使用。作者猜测可能是缓存问题。

最后,作者在评论中表示common_js.js文件中的函数现在已经可用了,但不确定之前为什么不可用,可能是缓存的原因。

0