我正在做的这个项目由骨干和浏览器组成。我只使用过jquery和一些javascript。
这是第一个与主干和浏览器化框架一起工作的项目。问题是,每当尝试使用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 (Jquery)jquery)中有些东西不起作用--我猜想,验证是在扩展jquery函数。
我有办法解决这个问题吗?
发布于 2014-12-18 20:14:48
不能在有效的JavaScript变量标识符中使用破折号,因此尝试将jquery-validate = require 'jquery-validate'更改为jquery_validate = require 'jquery-validate'。
https://stackoverflow.com/questions/25817870
复制相似问题