为什么window.jQuery&当我使用节点要求(' jquery')和浏览器化时,未设置$。

时间:2015-02-19 08:36:14

标签: jquery browserify

我有一段代码作为Karma测试的一部分:

require('jquery');
require('jquery-ui');
require('./../jquery-ui-timepicker-addon.js');

在运行测试之前,我运行了browserify:

browserify test\main.Spec.js -o test\main.Spec.run.js

现在,当我运行测试时,出现以下错误:

  

ReferenceError:找不到变量:jQuery

但是,当我手动分配window.jQuery时,一切都很好:

window.jQuery = window.$ = require('jquery');

为什么require('jquery')未设置window.jQuerywindow.$而我必须自行完成?

1 个答案:

答案 0 :(得分:1)

require('jquery');(和其他人)在节点中的工作方式类似,我猜你对这个概念很熟悉。它返回您必须自己设置的对象。

如果您希望将$设置为jquery,则必须自行设置 。将行更改为

var $ = require('jquery');

或者如果绝对必须是全球性的,请将其更改为window.$