16

browserifyを使用してフロントエンド コードをバンドルしています。これまでのところはうまくいっていますが、npm と非 npm パッケージを混在させるのに苦労しています。たとえば、jQuery プラグインの非 CJS バージョンで npm バージョンの jQuery を使用します。

私の現在の解決策は、browserキーを使用package.jsonしてjQueryのdistを指し、それを使用browserify-shimしてプラグインの依存関係として追加することです。

私が現在持っているものよりもこれを行うためのよりクリーンな方法はありますか?

編集:現在、npm を使用してすべてpackage.jsonの依存関係を管理しようとしているため、このプロジェクトでは bower を使用したくありません。私をクレイジーと呼んでください:)

パッケージ.json

{
  "dependencies": {
    "jquery": "~2.1.0",
    "browserify": "latest",
    "browserify-shim": "^3.5.0",
    "jquery-waypoints": "git@github.com:imakewebthings/jquery-waypoints.git",
    "jquery-validation": "git://github.com/jzaefferer/jquery-validation"
  },
  "browser": {
    "jquery": "./node_modules/jquery/dist/jquery.js",
    "jquery-waypoints": "./node_modules/jquery-waypoints/waypoints.js",
    "jquery-validate": "./node_modules/jquery-validation/build/release.js"
  },
  "browserify-shim": {
    "jquery": "$",
    "jquery-waypoints": {
      "depends": [
        "jquery"
      ]
    },
    "jquery-validate": {
      "depends": [
        "jquery"
      ]
    }
  },
  "browserify": {
    "transform": [
      "browserify-shim"
    ]
  }
}
4

3 に答える 3

1

私は次のようにします:

  1. debowerifyを使用して、bowerで利用可能なライブラリを含めます。この場合は、jquery-waypoints、jquery-validation になります。

  2. https://github.com/jquery/jqueryで入手できる npm パッケージに含まれる jquery を使用します。

そのため、当面の間、browserify-shim も削除します。

于 2014-06-13T13:03:36.320 に答える