jshint抱怨:'Ember'没有定义

时间:2013-04-08 21:06:11

标签: ember.js jshint

我有一个标准的Ember main.js文件,其开头如下:

this.App = Ember.Application.create({
    LOG_TRANSITIONS: true,
    VERSION: '1.0.0',
    ready: function () {
        console.log('App version: ' + App.VERSION + ' is ready.');
    }
});

通过jshint运行此操作会抱怨Ember未定义,在部署阶段,服务器中的此特定文件也是如此。因此,会显示许多错误消息。

Emberscript中的index.html标记在浏览器中提供:

<script src="scripts/vendor/ember-1.0.0-rc.2.js"></script>

如何告诉jshint Ember

2 个答案:

答案 0 :(得分:18)

以下应该这样做:

/*global Ember */
this.App = Ember.Application.create({
    LOG_TRANSITIONS: true,
    VERSION: '1.0.0',
    ready: function () {
        console.log('App version: ' + App.VERSION + ' is ready.');
    }
});

JS Hint Docs

中找到

答案 1 :(得分:16)

如果您正在使用新的ES6,例如来自ember-cli,则必须导入Ember:

import Ember from 'ember';

我正在关注Evil Trout's Ember Reddit tutorial并在测试中看到以下错误:

my-new-app/routes/subreddit.js should pass jshint.
my-new-app/routes/subreddit.js: line 3, col 16, 'Ember' is not defined.

将上述行添加到my-new-app/routes/subreddit.js的顶部,通过了测试。