簡體   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