我有一段代码作为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.jQuery
和window.$
而我必须自行完成?
答案 0 :(得分:1)
行require('jquery');
(和其他人)在节点中的工作方式类似,我猜你对这个概念很熟悉。它返回您必须自己设置的对象。
如果您希望将$
设置为jquery,则必须自行设置 。将行更改为
var $ = require('jquery');
或者如果绝对必须是全球性的,请将其更改为window.$
。