【发布时间】:2014-01-17 07:31:44
【问题描述】:
我想将我的库和我的应用程序代码拆分到单独的包中,以便我可以为每个单独插入脚本标签,因为我不希望将 jQuery、Backbone 和 Underscore 添加到我的每个应用程序包中。
但是,我尝试了几种方法,每次我从 Backbone 收到错误消息:
Uncaught TypeError: Cannot read property 'ajax' of undefined
我正在编译一个如下所示的 libs.js 文件:
global.$ = require('./jquery')
global._ = require('underscore')
global.Backbone = require('backbone')
我不得不手动下载 jQuery 并将其填充到我的 /src/vendor 文件夹中,因为 nom install jquery 只是由于某种原因而失败。
我还有一些简单的测试应用代码可以编译成 app.js:
// User.js
var Backbone = require('backbone')
module.exports = User = Backbone.Model.extend({
url : '/user'
});
// app.js
var User = require('./user');
var u = new User()
u.on('change', function(e){
$('h1').append('Updated!')
});
u.fetch()
在我的 HTML 中,libs.js 的脚本标记在 app.js 之前。
也许我从一开始就以一种奇怪的方式处理了整个事情,因为在以这种方式使用这些库时,谷歌搜索的方式似乎没有太大帮助,所以任何输入非常感谢!
【问题讨论】:
-
你试过 Backbone.$ = $ 吗?
标签: javascript jquery backbone.js browserify