繁体   English   中英

骨干+ browserify中的jquery插件

[英]jquery plugin in backbone + browserify

我正在处理的项目包括Backbone和browserify。 我只使用过jQuery和一些JavaScript。

这是第一个使用Backbone和browserify framworks的项目。 问题是无论何时尝试使用jquery插件都无法正常工作。

我使用jquery插件的原因对我来说是可以理解的。

在package.json中

"browser": {
    "jquery": "./node_modules/jquery/dist/jquery.min.js",
    "bootstrap": "./src/javascript/vendor/bootstrap.min.js",
    "masonry": "./src/javascript/vendor/masonry.pkgd.min.js",
    "removeClassPrefix": "./src/javascript/vendor/jquery-removeClassPrefix.js",
    "jquery-validate": "./src/javascript/vendor/jquery.validate.min.js"
  },
  "browserify": {
    "transform": [
      "browserify-shim",
      "coffeeify",
      "hbsfy"
    ]
  },
  "browserify-shim": {
    "jquery": "$",
    "bootstrap": {
      "exports": "bootstrap",
      "depends": [
        "jquery:$"
      ]
    },
    "masonry": {
      "exports": "masonry",
      "depends": [
        "jquery"
      ]
    },
    "removeClassPrefix": {
      "exports": "removeClassPrefix",
      "depends": [
        "jquery:$"
      ]
    },
    "jquery-validate": {
      "exports": "jquery-validate",
      "depends": [
        "jquery:$"
      ]
    }
  },

和用咖啡脚本编写的实际代码

_          = require 'underscore'
Backbone   = require 'backbone'
$ = require 'jquery'
Backbone.$ = $
Backbone.Marionette = require 'backbone.marionette'
ModalModel = require '../models/modalModel'
jquery-validate = require 'jquery-validate'

module.exports = Backbone.Marionette.ItemView.extend

构建代码后,上述代码的第一行发生了错误。

Uncaught ReferenceError: jquery is not defined

没有下面的代码,一切正常。

jquery-validate = require 'jquery-validate'

这意味着在jquery插件(jquery-validate)中有些东西无法正常工作,我猜jquery-validate正在扩展jquery函数。

有什么办法可以解决这个问题?

您不能在有效的JavaScript变量标识符中使用破折号,因此请尝试将jquery-validate = require 'jquery-validate' jquery_validate = require 'jquery-validate' jquery-validate = require 'jquery-validate'更改为jquery_validate = require 'jquery-validate'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM