不使用 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-echo 和 pusher-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
将 .vue 发布到 npm 以与 browserify 一起使用
如何在不使用命令 npm 的情况下将插件添加到 cordova/phonegap 应用程序?