首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用npm jQuery和非npm插件实现浏览器化

用npm jQuery和非npm插件实现浏览器化
EN

Stack Overflow用户
提问于 2014-06-12 13:51:36
回答 3查看 4.3K关注 0票数 16

我正在使用褐化捆绑前端代码。到目前为止,这是很棒的,但我一直很难混合npm和非npm软件包。例如,在非CJS版本的jQuery插件中使用npm版本的jQuery插件。

我的当前解决方案是使用package.json中的package.json键指向jQuery,然后使用browserify-shim将其添加为插件的依赖项。

有没有比我现在更干净的方法来做这件事?

编辑:,我目前正在尝试使用npm和package.json来管理我所有的依赖项,所以我不想在这个项目上使用。称我为疯子:)

Package.json

代码语言:javascript
复制
{
  "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"
    ]
  }
}
EN

回答 3

Stack Overflow用户

发布于 2014-06-13 13:03:36

我将这样做:

  1. 使用脱脂包括bower中可用的库,在您的情况下是jquery,jquery-验证。
  2. 使用npm包中附带的jquery,它可以在这里获得https://github.com/jquery/jquery

因此,我暂时也要去掉褐化-希姆。

票数 1
EN

Stack Overflow用户

发布于 2016-03-28 18:51:22

browser指令只是一个别名,用于指定编写jquery时所需的内容。jquery的默认设置是node_modules中的路径,所以您的行:

代码语言:javascript
复制
"jquery": "./node_modules/jquery/dist/jquery.js",

...is是多余的,您可以删除它,因为当您在Browserify Shim配置中编写"depends": ["jquery"]时,jquery已经指向./node_modules/jquery/dist/jquery.js,而在browser键中没有这一行。实际上,您可能完全可以删除browser指令,您必须检查那些jQuery插件的package.json文件中的配置,但很可能它们已经别名为您拥有的,而没有browser覆盖。

否则,我认为没有更干净的方法来实现这一点。正如您所说的,您需要使用Browserify Shim来对那些非CJS jQuery插件进行修改,并且您这样做是正确的。

票数 1
EN

Stack Overflow用户

发布于 2015-06-01 19:59:02

您缺少正确定义依赖项(例如,将"$“设置为jquery声明):

代码语言:javascript
复制
"plugin": {
  "exports": "plugin",
  "depends": [
    "jquery:$"
  ]
},...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24186219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档