[英]Can't Import 'Echo' from Module : Uncaught ReferenceError: Echo is not defined
我正在測試laravel / redis / socket.io消息傳遞功能。 在初始設置過程中,我注意到echo.js(無論是NPM的版本還是GIT的“編譯”到模塊)都會導致錯誤。 “未捕獲的ReferenceError:未定義回聲”
我很沮喪,因為從技術上講應該可行,有幫助嗎?
1)我已經使用了開箱即用的echo.js 2)我已經從GIT laravel-echo TypeScript存儲庫中構建了一個js包3)我檢查了腳本是否正在加載
window.Echo.channel('everywhere')
.listen('AnnouncementEvent', (e) => {
console.log(e);
});
我想找出應該解決的問題,讓echo.js開始在測試中工作的解決方案缺少什么
您在這里缺少一些拼圖碎片...
安裝predis composer require predis/predis
安裝一個像這樣的socket.io服務器, https://github.com/tlaverdure/laravel-echo-server
安裝socket.io客戶端庫npm install --save socket.io-client
在您的boostrap.js文件中實例化Echo:
import Echo from "laravel-echo"
window.io = require('socket.io-client');
window.Echo = new Echo({
broadcaster: 'socket.io',
host: window.location.hostname + ':6001'
});
我已經解決了我的問題...我不確定它是否正確,但可以正常工作。
使用laravel echo
發行版,可以得到三個不同的echo*.js
文件:
echo.js
即使使用type='module'
設置導入的ES5-ES6
模塊在瀏覽器中也不起作用
echo.iife.js
庫的瀏覽器兼容版本
echo.common.js
一個nodejs
commonjs模塊
我發現我必須包含echo.iife.js
才能使此Javascript Echo
類在瀏覽器中正確注冊並公開給腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.