Laravel Echo集成Pusher遇文件缺失:/js/pusher.js.map找不到求助
解决Laravel Pusher中pusher.js.map和pusher.js.min文件缺失问题
以下是针对性的解决步骤:
检查webpack配置与Echo初始化
确认webpack.mix.js中正确配置了JS编译入口:mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css');同时在
resources/js/app.js中正确引入并初始化Laravel Echo与Pusher:import Echo from 'laravel-echo'; import Pusher from 'pusher-js'; window.Pusher = Pusher; window.Echo = new Echo({ broadcaster: 'pusher', key: process.env.MIX_PUSHER_APP_KEY, cluster: process.env.MIX_PUSHER_APP_CLUSTER, forceTLS: true });注意:
.env文件中Pusher的密钥和集群需要添加MIX_前缀,确保前端能读取到:MIX_PUSHER_APP_KEY=your-pusher-key MIX_PUSHER_APP_CLUSTER=your-pusher-cluster重新编译前端资源
- 清理旧的编译文件:
# Linux/Mac rm -rf public/js/* public/css/* # Windows rd /s /q public\js public\css - 重新安装依赖:
npm install - 执行编译:
npm run dev # 或实时监听文件变化:npm run watch
- 清理旧的编译文件:
修正Blade模板的脚本引入
不要手动引入pusher.js.min或pusher.js.map,这些资源已被webpack打包到app.js中,直接引入编译后的文件即可:<script src="{{ mix('/js/app.js') }}"></script>清除浏览器缓存
按Ctrl+Shift+R(Windows)或Cmd+Shift+R(Mac)强制刷新页面,避免缓存旧的资源路径。
内容的提问来源于stack exchange,提问作者Doni Warzone
相关产品推荐
相关产品推荐

