麻烦包括使用Browserify / Browserify Shim的全局jQuery的光滑轮播

时间:2015-11-06 01:59:35

标签: gulp browserify browserify-shim

我正在使用Browserify 11.2和Browserify Shim 3.8,并尝试使用从CDN加载的jQuery的光滑轮播(通过npm包含)。我意识到这需要使用Browserify shim,但我无法让它工作。

以下是我的package.json文件的相关部分。

  "devDependencies": {
      ...
      "browserify": "^11.2.0",
      "browserify-shim": "^3.8.10",
      ...
      "slick-carousel": "^1.5.8",
      ...
    },
    "browserify": {
      "transform": [
        "browserify-shim"
      ]
    },
    "browser": {
    },
    "browserify-shim": {
      "jquery": "global:jQuery",
      "slick-carousel": {
      }
    },
    "dependencies": {
    }

当试图要求光滑轮播时,我收到错误:

Cannot find module 'jquery' from 'path_to_node_modules/node_modules/slick-carousel/slick'

但是,如果我输出require(' jquery')为常量(例如)

const jq = require('jquery'),jquery正如我所料。

现在我的脚本只包含以下内容进行测试:

require('jquery');
require('slick-carousel');

我总是很难在Browserify Shim周围徘徊 - 任何关于我做错事的指导都表示赞赏。

1 个答案:

答案 0 :(得分:1)

您需要在package.json中指定slick-carousel依赖于jQuery:

"browserify": {
  "transform": [
    "browserify-shim"
  ]
},
"browserify-shim": {
  "jquery": "global:jQuery",
  "slick-carousel": {
    "depends": [
      "jquery: jQuery"
    ]
  }
},
相关问题