使用带有npm jQuery和非npm插件的browserify

Nic*_*lin 16 jquery node.js browserify browserify-shim

我使用browserify捆绑前端代码.到目前为止它一直都很棒,但我在混合npm和非npm包时遇到了困难.例如,使用nQuery版本的jQuery和非CJS版本的jQuery插件.

我目前的解决方案是使用browser键入package.json指向jQuery的dist,然后使用browserify-shim它作为插件的依赖项添加它.

有没有比我现在更清洁的方式来做到这一点?

编辑:我目前正在尝试使用npm并package.json管理所有依赖项,所以我不想在这个项目上使用bower.叫我疯了:)

的package.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"
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

Ian*_*Lim 1

我会这样做:

  1. 使用debowerify包含 Bower 中可用的库,在您的情况下将是 jquery-waypoints、jquery-validation

  2. 使用 npm 包中的 jquery,可在此处获取https://github.com/jquery/jquery

因此,我也会暂时删除 browserify-shim。