我正在尝试将welcome.blade.php
文件加载到<script type="text/javascript" src="{{ asset('public/js/app.js') }}"></script>
内,但我收到以下错误:
调用未定义的函数asset()
这是我使用的指令asset()
可能是什么问题?我还尝试在没有$ curl -v -XPOST https://api.airtable.com/v0/restoftheurl \
-H "Authorization: Bearer My_API_Key" \
-H "Content-type: application/json" \
-d '{
"fields": {
"Item": "Headphone",
"Quantity": "1",
"Customer_ID": [
"My_API_Key"
]
}
}'
的情况下运行相同的行,但它不起作用。我的.js文件位于我指定的位置。
非常感谢你!
答案 0 :(得分:1)
过程:
我正在使用Laravel 5.5,最近又遇到了相同的问题,所以我做了一些调试。步骤如下:
由于错误是Call to undefined function asset()
,因此我在Laravel存储库中检查了helpers.php
,以查看是否存在。 https://github.com/laravel/framework/blob/5.5/src/Illuminate/Foundation/helpers.php#L127,确实如此。
if (! function_exists('asset')) {
/**
* Generate an asset path for the application.
*
* @param string $path
* @param bool $secure
* @return string
*/
function asset($path, $secure = null)
{
return app('url')->asset($path, $secure);
}
}
我查看了我的Laravel本地副本,看看是否存在同一行。
但是,我的本地副本与仓库中的副本不同。它是这样的:
if (! function_exists('asset')) {
/**
* Generate an asset path for the application.
*
* @param string $path
* @param bool $secure
* @return string
*/
function mixasset($path, $secure = null)
{
return app('url')->asset($path, $secure);
}
}
在某些时候,Laravel Mix似乎已将asset()
更改为mixasset()
。
结果:
尝试使用mixasset()
而不是asset()
。否则,请删除您的vendors
文件夹并通过运行composer install
来重建它。这应该为您提供使用正确的asset()
帮助程序方法的Laravel版本的最新副本。
答案 1 :(得分:0)
asset()
已指向您的公开文件夹,因此请勿在{{1}}中指定公开信息
将您的asset()
更改为asset('public/js/app.js')
答案 2 :(得分:0)
我的错误:当我将Laravel 5.2中的某些函数移至Laravel 6.x时,调用未定义的函数set_active()...。 我的解决方案: 1.在下面的composer.json中添加 “自动加载”:{ “类图”:[ “数据库” ], “ psr-4”:{ “ App \”:“ app /” }, “文件”:[ “ app / helpers.php”。 =>新增 ] } 2.运行作曲家安装 它对我有用。