在不使用npm的情况下,将laravel-echo和pusher-js作为一个简单的js文件安装


install laravel-echo and pusher-js as a simple js file without using npm

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

我知道通过npm包管理器是可能的,正如官方laravel文档中所解释的那样:

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文件,我可以将其包含在我的页面中,并使用包含的函数和方法。它有错吗?

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

  1. 我获取了.js文件并将其移动到resources'assets'js
  2. 打开resources'assets'js'app.js并添加require(./filename.js);
  3. 运行npm install
  4. 运行npm run dev
  5. 将指向新app.js文件的链接更改为我的布局

通过这种方式,我设法在代码中保留了一个js文件,并使用了laravel-echo。

也许还有另一种解决方案,但我没有尝试

  1. 启动一个新的laravel项目
  2. 运行npm install
  3. 按以下方式修改webpack.mix.js

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

  1. public/js/vendor.js文件复制到实际项目中

理论上,这就是所有脚本echo需要发挥作用的地方。在这一点上,我认为你需要修改/删除一些行,使其在没有webpack初始化的情况下工作。