Laravel 版本缓存 Laravel 混合不工作
Laravel Version Cache with Laravel Mix Not Working
我正在尝试使用 laravel mix 但在浏览器中 return 错误 404
Laravel 5.6.4
我的.env APP_URL
APP_URL=http://localhost/base-site-template/public
我的组合-manifest.json
{"/js/lib/echarts.js": "/js/lib/echarts.js?id=a24928e50f4d775d9e3e",
"/js/lib/moment.js": "/js/lib/moment.js?id=a3cde5d62118f1b1ac08",
"/js/lib/axios.js": "/js/lib/axios.js?id=1129cee8012a0ec7cb58",
"/css/lib/vuetify.css": "/css/lib/vuetify.css?id=c7533b5bc8f96cca4e90",
"/css/index.css": "/css/index.css?id=d41d8cd98f00b204e980",
"/css/template.css": "/css/template.css?id=c7533b5bc8f96cca4e90",
"/js/template.js": "/js/template.js?id=3213a53c38fb71543141",
"/js/lib/vue.js": "/js/lib/vue.js?id=e41f4d0b6a918ca9213d",
"/js/lib/lodash.js": "/js/lib/lodash.js?id=98dc43a5e921b41ef214",
"/js/lib/vee-validate.js": "/js/lib/vee-validate.js?id=bfc8600a0fc91c459f0e",
"/js/lib/vuetify.js": "/js/lib/vuetify.js?id=f0c3ad550b36770ee4c9",
"/js/index.js": "/js/index.js?id=5a79665b4d1331d942d7"}
我正在尝试使用 {{ mix('js/template.js') }}
获取 css 和 js 文件
有人可以帮助我吗?
您的资源正在尝试从根目录加载:
您正在 /base-site-template/public
而不是 /
访问网站。因此,您必须访问位于 /base-site-template/public/js/index.js
而不是 /js/index.js
.
的文件
如果您的 APP_URL 设置正确,您可以使用 asset() 助手为您的 APP_URL 添加前缀。
{{ asset(mix('js/template.js')) }}
资产在编译时被放置在 public/
目录中,例如:
public/js/lib/echarts.js
您的浏览器会将以 /
开头的相对请求视为相对于 http://localhost/
的基本路径。例如,当您加载页面 http://localhost/base-site-template/public
并且它引用 /js/lib/echarts.js
时,浏览器将发出此请求:
http://localhost/js/lib/echarts.js
然而,这不是您的资产所在的位置,您的资产位于:
http://localhost/base-site-template/public/js/lib/echarts.js
因此您需要:
- 使用绝对 URL 而不是相对路径
引用资产
- 告诉客户端浏览器使用不同的基本路径
- 将您的应用程序移动到基本路径
您可以使用 asset
helper:
以绝对路径引用资产
asset(mix('public/js/lib/echarts.js'));
您可以使用文档中的 base
element 告诉客户端浏览器使用不同的基本路径 head
:
<base href="http://localhost/base-site-template/public/">
我正在尝试使用 laravel mix 但在浏览器中 return 错误 404
Laravel 5.6.4
我的.env APP_URL APP_URL=http://localhost/base-site-template/public
我的组合-manifest.json
{"/js/lib/echarts.js": "/js/lib/echarts.js?id=a24928e50f4d775d9e3e",
"/js/lib/moment.js": "/js/lib/moment.js?id=a3cde5d62118f1b1ac08",
"/js/lib/axios.js": "/js/lib/axios.js?id=1129cee8012a0ec7cb58",
"/css/lib/vuetify.css": "/css/lib/vuetify.css?id=c7533b5bc8f96cca4e90",
"/css/index.css": "/css/index.css?id=d41d8cd98f00b204e980",
"/css/template.css": "/css/template.css?id=c7533b5bc8f96cca4e90",
"/js/template.js": "/js/template.js?id=3213a53c38fb71543141",
"/js/lib/vue.js": "/js/lib/vue.js?id=e41f4d0b6a918ca9213d",
"/js/lib/lodash.js": "/js/lib/lodash.js?id=98dc43a5e921b41ef214",
"/js/lib/vee-validate.js": "/js/lib/vee-validate.js?id=bfc8600a0fc91c459f0e",
"/js/lib/vuetify.js": "/js/lib/vuetify.js?id=f0c3ad550b36770ee4c9",
"/js/index.js": "/js/index.js?id=5a79665b4d1331d942d7"}
我正在尝试使用 {{ mix('js/template.js') }}
获取 css 和 js 文件有人可以帮助我吗?
您的资源正在尝试从根目录加载:
您正在 /base-site-template/public
而不是 /
访问网站。因此,您必须访问位于 /base-site-template/public/js/index.js
而不是 /js/index.js
.
如果您的 APP_URL 设置正确,您可以使用 asset() 助手为您的 APP_URL 添加前缀。
{{ asset(mix('js/template.js')) }}
资产在编译时被放置在 public/
目录中,例如:
public/js/lib/echarts.js
您的浏览器会将以 /
开头的相对请求视为相对于 http://localhost/
的基本路径。例如,当您加载页面 http://localhost/base-site-template/public
并且它引用 /js/lib/echarts.js
时,浏览器将发出此请求:
http://localhost/js/lib/echarts.js
然而,这不是您的资产所在的位置,您的资产位于:
http://localhost/base-site-template/public/js/lib/echarts.js
因此您需要:
- 使用绝对 URL 而不是相对路径 引用资产
- 告诉客户端浏览器使用不同的基本路径
- 将您的应用程序移动到基本路径
您可以使用 asset
helper:
asset(mix('public/js/lib/echarts.js'));
您可以使用文档中的 base
element 告诉客户端浏览器使用不同的基本路径 head
:
<base href="http://localhost/base-site-template/public/">