EmberJS,jQuery UI和Grunt。

时间:2013-11-05 07:02:32

标签: javascript jquery jquery-ui ember.js gruntjs

我正在整合Emberjs和jquery ui。使用http://www.lukemelia.com/blog/archives/2012/03/10/using-ember-js-with-jquery-ui/

中提到的方法

一切似乎都运转正常。

问题在于:

当我有

JQ = {};

声明我遇到此错误的新命名空间(虽然它在浏览器上工作正常)

未定义JQ

当我声明与

相同的变量时
 var JQ = {};

Grunt没有显示任何错误,但它在浏览器中停止工作。

我查看了浏览器中的组合代码,如下所示

function(){
  var JQ = {};
 }

....代码的其余部分

所以我确定它已被声明,但浏览器不会看到它。

所以我找不到问题?也不是解决方案

最佳,
穆罕默德

2 个答案:

答案 0 :(得分:1)

如果你想让JQ global..declare它为window.JQ = {}

我认为问题可能只是linting ....将JQ添加到全局...

为了确保jshint不会抛出错误..添加JQ到.jshintrc文件中的全局列表

答案 1 :(得分:0)

当您使用 var JQ = {}; 时,结果为

function(){
  var JQ = {};
}

您的变量仅在该函数的范围内定义,这意味着您不能在该闭包之外使用它。因此,当您使用 JQ = {}; 时,您的编译文件应包含:

function(){
  JQ = {};
}

定义全局命名空间中的变量。但是你说你得到 JQ没有被定义,所以我建议你检查一下你的定义之前是否使用了变量。