Чтобы это исправить, я удалил все, что включил в файл app.module.ts, и включил путь к модулю узла в массиве scripts в файле angular.json:
"scripts": [
"node_modules/hammerjs/hammer.min.js",
"node_modules/laravel-echo/dist/echo.js"
],
В компоненте я мог ссылаться на объект Echo следующим образом:
// At the top of the file
declare global {
interface Window { io: any; }
interface Window { Echo: any; }
}
declare var Echo: any;
window.io = window.io || require('socket.io-client');
window.Echo = window.Echo || {};
Всякий раз, когда вы хотите начать слушать:
window.Echo = new Echo({
broadcaster: 'socket.io',
host: 'https://host-address.com:6001'
});
window.Echo.channel('channel-name')
.listen('.channelEvent', (data) => {
console.log('From laravel echo: ', data);
});
Надеюсь, это спасет кого-то еще!