亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

參考錯誤:回聲未定義

參考錯誤:回聲未定義

慕田峪7331174 2021-09-30 16:42:55
我正在使用帶有 pusher js 的 laravel echo 在我的應用程序中構建實時功能。我已經完成了doc要求的所有步驟。我已經成功設置了 pusher 配置并且它工作正常:當我的事件被觸發時,我會在我的 Pusher 帳戶的調試控制臺中收到通知。我的問題是前端。正如文檔所述,我在resources/js/bootstrap.js文件底部添加了必要的代碼部分。我實際上取消了注釋并添加了正確的 ID。import Echo from 'laravel-echo';window.Pusher = require('pusher-js');window.Echo = new Echo({    broadcaster: 'pusher',    key:my-pusher-key-here,    cluster: eu,    forceTLS: true});問題是,雖然我已經插入了那些<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <script src="js/echo.js"></script><script src="js/app.js"></script><script src="https://js.pusher.com/4.1/pusher.min.js"></script><script>var channel = Echo.channel('my-channel');channel.listen('my-event', function(data) {  alert(JSON.stringify(data));});</script>在我的刀片視圖中,我在瀏覽器的控制臺中收到此錯誤:ReferenceError: Echo is not defined。我猜這與找不到回聲庫有關,但我不明白為什么。對于這一<script src="js/echo.js"></script>行,我復制了npm install --save laravel-echo pusher-js命令運行后得到的 echo.js 文件。我經歷了很多建議,比如gulp自動編譯 Js 文件中的更改,我猜但什么都沒有......對于gulp在我的 CLI 中輸入的命令,我收到No gulpfile file found錯誤。我也試過直接在app.js文件中復制代碼的第一部分,但沒有區別,我遇到了同樣的錯誤。正如我所說.. 我想這肯定與未找到 Echo 庫有關,但為什么呢?您的幫助將不勝感激package.json 文件    "private": true,    "scripts": {        "build": "webpack -p",        "watch": "npm run development -- --watch",        "dev": "npm run development",        "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",        "watch-poll": "npm run watch -- --watch-poll",        "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",        "prod": "npm run production",        "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"    },
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

我遇到了和你一樣的錯誤,錯誤發生在你的 resources/js/app.js 文件中。如果你評論過require('./bootstrap'); 取消注釋它會為你工作。


查看完整回答
反對 回復 2021-09-30
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

你有import Echo from 'laravel-echo';內部resources/js/bootstrap.js文件。

它嘗試在node_modules文件夾中搜索 Echo 依賴。

你應該使用laravel-mix來構建 JavaScript 文件。


查看完整回答
反對 回復 2021-09-30
?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

我相信您在取消注釋resources/js/bootstrap.js文件中的行后搞砸了步驟。要使用那里的代碼,您需要導入resources/js/app.js文件。去看看,你會看到它正在導入引導文件。您可以resources/js/app.js在您的刀片中導入 axios,因為您可能需要它。確認您的resources/js/app.js文件至少包含以下幾行:


require('./bootstrap');

const { default: axios } = require('axios');

window.Vue = require('vue').default;

然后在您的刀片文件中使用它來運行 vue:


<script src="{{ asset('js/app.js') }}"></script>

<script>

    new Vue({

        el: '#app',

        data: {},

        methods: {},

        mounted() {},

    });

</script>

最后檢查webpack.mix.js文件并確認它至少具有:


mix.js('resources/js/app.js', 'public/js')

.vue();

對我來說,使用 php 7.4 我必須運行npm run production才能構建 js 文件。它運行完美無缺。




查看完整回答
反對 回復 2021-09-30
  • 3 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號