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