0

一般来说,我对 laravel mix 和 npm 完全陌生,所以我在这里完全不知所措。

我正在使用 jquery 插件,例如:https ://github.com/noraesae/perfect-scrollbar

现在,我安装了 laravel mix,因为我需要 laravel echo。得到了它的工作和运行,但从那时起jquery插件没有加载,我得到的是:

Uncaught TypeError: $(...).perfectScrollbar is not a function

我不知道,这可能是因为 jquery 现在是异步加载的,并且 Mix 会覆盖我设置的 /div> 方式?但是,我注意到我也许可以通过 npm 安装这个插件,因为文档来自:

npm install perfect-scrollbar

我做到了,它安装了,但我现在怎么可能包含它,以便 laravel mix 也加载它?在过去的 6 个小时里,我一直在寻找一种方法,但我就是不明白该怎么做。任何帮助将不胜感激!

4

1 回答 1

1

好的......我不确定你的问题出在哪里,但这里有一些你可以检查的东西......

首先, mix 将运行 webpack... wbpack.mix.js ... 如果您不更改它,它将包含以下内容:

mix.js('resources/assets/js/app.js', 'public/js')
   .sass('resources/assets/sass/app.scss', 'public/css');

现在,这将运行 webpack 并编译你的资源......如果我们在这里感兴趣,app.js。

您是否按照完美滚动条文档中的建议在 app.js 中包含了您的库(完美滚动条)?

var Ps = require('perfect-scrollbar');

您还需要为它处理 css.. 通过将其导入 app.scss ...如果您在标准 laravel 安装中使用 sass...

@import "node_modules/perfect-scrollbar/src/css/main.scss"

重建,如果你使用 Ps 作为完美滚动条对象,你应该很高兴。您也可以将其添加到窗口中...例如 window.Ps = require...

npm install 只是将包安装在你的 node_modules 目录中。在那里,您必须将它们导入到您编译的 css 和 js 应用程序文件中。

希望这可以帮助。

于 2017-02-17T22:55:11.740 回答