2

私は Browserify 11.2 と Browserify Shim 3.8 を使用しており、CDN からロードされた jQuery で slick-carousel (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": {
    }

slick-carousel を要求しようとすると、次のエラーが表示されます。

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

ただし、require('jquery') を定数に出力すると (eg)

const jq = require('jquery')、私が期待するようにjqueryがあります。

現在、私のスクリプトには、テスト用に次のものが含まれています。

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

私はいつも Browserify Shim に頭を悩ませてきました - 私が間違っていることについてのガイダンスは大歓迎です。

4

1 に答える 1

1

slick-carousel が jQuery に依存することを指定する必要がありますpackage.json

"browserify": {
  "transform": [
    "browserify-shim"
  ]
},
"browserify-shim": {
  "jquery": "global:jQuery",
  "slick-carousel": {
    "depends": [
      "jquery: jQuery"
    ]
  }
},
于 2016-01-08T22:05:18.860 に答える