【问题标题】:Browserify with jQuery pluginsBrowserify 使用 jQuery 插件
【发布时间】:2016-03-18 21:05:22
【问题描述】:

我正在尝试让一些 jQuery 插件与 browserify 一起使用。我的 package.json 设置如下:

  "browser": {
    "jquery": "./client/js/vendors/jquery-2.2.2.min.js",
    "jquery-validation": "./client/js/vendors/jquery.validate.js"
  },
  "browserify-shim": {
    "jquery": "global:$"
  },

但是,当我 require('jquery-validation') 时,我无法读取与此插件相关的未定义属性 fn。我也想拥有它,这样$ 将是全球性的,因为它已被全部使用,而无需它。

我已经看到了很多不同的文章和配置,但似乎没有任何效果。

任何建议或澄清将不胜感激。

编辑:

我有时也会收到Uncaught Error: Cannot find module 'jquery'

【问题讨论】:

    标签: javascript jquery browserify


    【解决方案1】:
    1. 您不需要填充 jquery,它与节点兼容 yoo 可以简单地使用 npm install jquery --save 安装它并在您的代码中创建 var $= require("jquery")
    2. 您确实需要填充 jquery.validate。

    package.json:

    {  
       "browser":{  
          "jquery-validation":"./node_modules/jquery-validation/dist/jquery.validate.js"
       },
       "browserify-shim":{  
          "jquery-validation":{  
             "depends":[  
                "jquery:jQuery"
             ]
          }
       },
       "browserify":{  
          "transform":[  
             "browserify-shim"
          ]
       },
       "dependencies":{  
          "jquery":"^2.0.0",
          "jquery-validation":"^1.15.1"
       }
    }
    

    注意:jquery.validate 依赖于 jQuery 版本 2.0^(你可以在 jquery-validation 的 npm 包的 package.json 文件中看到)所以你必须在你的项目中设置对 jquery ^2.0 的依赖,否则 jquery-validation 会加载他自己的 jQuery 版本,集成将不起作用。

    【讨论】:

      【解决方案2】:

      你好像有错字,你应该打电话给require('jquery-validation')而不是require('jquery-validate')

      【讨论】:

      • 抱歉,我的问题打错了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-08
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 1970-01-01
      相关资源
      最近更新 更多