我正在使用browserify创建节点应用程序来模块化前端代码.
不幸的是,我无法让Backbone工作,因为它抛出了这个错误: @H_403_3@Uncaught TypeError: Property '$' of object #<Object> is not a function
不幸的是,我无法让Backbone工作,因为它抛出了这个错误: @H_403_3@Uncaught TypeError: Property '$' of object #<Object> is not a function
在此脚本之前加载jQuery:
@H_403_3@var _ = require('underscore'),Backbone = require('backbone'); // Here,jQuery works fine. $(function() { Backbone.history.start(); });看起来Backbone在使用browserify时找不到jQuery.
解决方法
只需设置Backbone.$= window.$手动. Backbone在全局变量中查找jquery(通过捕获它来定义)并且很可能browserify不在全局上下文中运行脚本(这与CommonJS一致).