【发布时间】:2014-09-12 22:38:16
【问题描述】:
我正在从事的项目由 Backbone 和 browserify 组成。 我只使用过 jquery 和一些 javascript。
这是第一个使用 Backbone 和 browserify 框架的项目。 问题是每当尝试使用 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:$"
]
}
},
以及用coffeescript编写的实际代码
_ = 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 backbone.js coffeescript browserify