不使用 npm 将 laravel-echo 和 pusher-js 安装为一个简单的 js 文件

Posted

技术标签:

【中文标题】不使用 npm 将 laravel-echo 和 pusher-js 安装为一个简单的 js 文件【英文标题】:install laravel-echo and pusher-js as a simple js file without using npm 【发布时间】:2017-01-18 10:30:06 【问题描述】:

要在 laravel 5.3 中接收广播通知,我需要在刀片模板中包含 laravel-echopusher-js 文件。

我知道可以通过 npm 包管理器,正如 official laravel docs 中所解释的那样:

npm install --save laravel-echo pusher-js 

然后在resouces/assets/js/app.js 文件中像这样导入它:

import Echo from "laravel-echo"

window.Echo = new Echo(
    broadcaster: 'pusher',
    key: 'your-pusher-key-here'
);

但是我有一个简单的 js 文件,我的所有脚本都在其中,我没有在我的项目中使用 npm,我所有的 javascript 文件都是 .js

我去了laravel-echo github页面但是我没有找到任何可以在我的页面中使用的js格式的文件。

除了 npm 之外,还有其他方法可以包含 laravel-echo 吗?

更新:

我发现上面的代码是基于Typescript的。我对Typescript不熟悉。只有我知道它可以编译成纯 javascript 文件。我正在寻找 laravel-echo 作为一个 js 文件,我可以将它包含到我的页面中并使用包含的函数和方法。有可能吗?

【问题讨论】:

【参考方案1】:

我不知道这是否真的可能,但我和你有同样的问题。我正在将我的 .js 文件放入公共文件夹中。当我尝试添加回声时,一切都出错了。所以,这是我的解决方案,但你仍然需要使用 npm。

    我将 .js 文件移至 resources\assets\js 打开resources\assets\js\app.js并添加require(./filename.js); 运行npm install 运行npm run dev 将指向新 app.js 文件的链接更改为我的布局。

这样我设法将一个 js 文件保存到我的代码中并使用 laravel-echo。

也许还有其他解决方案,但我没有尝试过。

    开始一个新的 laravel 项目 运行npm install 修改webpack.mix.js如下:

mix.js('resources/assets/js/app.js', 'public/js').extract(['echo']);

    public/js/vendor.js 文件复制到您的实际项目中。

理论上,这就是脚本回显功能所需要的全部内容。在这一点上,我认为您需要修改/删除一些行以使其在没有 webpack 初始化的情况下工作。

【讨论】:

以上是关于不使用 npm 将 laravel-echo 和 pusher-js 安装为一个简单的 js 文件的主要内容,如果未能解决你的问题,请参考以下文章

laravel5.5事件广播系统实例laravel-echo + redis + socket.io

Laravel Echo 私人频道不听

将 .vue 发布到 npm 以与 browserify 一起使用

如何在不使用命令 npm 的情况下将插件添加到 cordova/phonegap 应用程序?

如何使用为 react-native 创建的 npm 库而不发布到 npm

Laravel 回声回调