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

时间:2016-09-10 11:42:51

标签: javascript php laravel-5.3

要在 laravel 5.3 中接收广播通知,我需要将 laravel-echo pusher-js 文件包含到我的刀片模板中。< / p>

我知道可以通过 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文件,我可以将它包含在我的页面中并使用包含的函数和方法。是posibble?

1 个答案:

答案 0 :(得分:1)

我不知道它是否真的有可能,但我和你有同样的问题。我将我的.js文件分发到公共文件夹中。当我试图添加回声时,一切都出错了。所以,这是我的解决方案,但你仍然需要使用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文件的链接更改为我的布局。
  6. 这样我设法将一个js文件保存到我的代码中并使用laravel-echo。

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

    1. 启动一个新的laravel项目
    2. 运行npm install
    3. 通过以下方式修改webpack.mix.js
    4. mix.js('resources/assets/js/app.js', 'public/js').extract(['echo']);

      1. public/js/vendor.js文件复制到您的实际项目。
      2. 理论上,这是所有需要运行的脚本回显。此时,我认为您需要修改/删除一些行,以使其无需webpack初始化。