在jquery的另一个文件上浏览jquery插件

Browserify jquery plugin on a different file that jquery

本文关键字:jquery 浏览 插件 另一个 文件      更新时间:2023-09-26

我刚开始浏览,我正在尝试使用两个文件设置一个简单的示例。我已经使用npm:安装了jquery

npm install --save jquery

此外,我还安装了一个使用bower:的旋转木马插件

bower install slick-carousel

我基本上有一个通用的app.js,其中我有所有的通用js,比如bootstrap+jquery+我的全局逻辑。。。然后我有另一个特定于页面的文件(例如:homepage.js)

我需要的是在app.js上有jquery,在另一个文件上有我的jquery插件("slick carousel")。

当我在同一个文件上需要光滑的旋转木马时,一切都很好,我可以调用类似$("#my selector").slick():

global.$ = global.jQuery = require("jquery");
require('slick-carousel');

但当我把它们放在不同的文件中时,比如:

app.js:

global.$ = global.jQuery = require("jquery");

主页.js

require('slick-carousel');

我得到一个错误,说光滑是没有定义的。

我一直在尝试使用browserfy填充程序,但没有成功。另外,我做了一个简单的测试,在插件代码上添加了console.log(window.$==$),我发现当它失败时,插件上使用的$对象与window.$不同这可能是它失败的原因,但我不知道如何修复它。

如有任何帮助,我们将不胜感激。

尝试将slick显式导出为jQuery插件,如下所示:

"browserify": {
  "transform": [
    "browserify-shim"
  ]
},
"browserify-shim": {
  "jquery": "$",
  "slick-carousel": {
    "depends": [
      "jquery: jQuery"
    ],
    "exports": "$.fn.slick"
  }
},