[英]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.