jshint抱怨:'Ember'没有定义

dan*_*ast 15 jshint ember.js

我有一个标准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.');
    }
});
Run Code Online (Sandbox Code Playgroud)

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

Ember通过以下script标记在浏览器中可用index.html:

<script src="scripts/vendor/ember-1.0.0-rc.2.js"></script>
Run Code Online (Sandbox Code Playgroud)

我怎么能告诉jshint有关Ember?

mav*_*ein 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.');
    }
});
Run Code Online (Sandbox Code Playgroud)

在JS Hint Docs中找到


And*_*den 16

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

import Ember from 'ember';
Run Code Online (Sandbox Code Playgroud)

我正在关注Evil Trout的Ember Reddit教程并在测试中看到以下错误:

my-new-app/routes/subreddit.js should pass jshint.
my-new-app/routes/subreddit.js: line 3, col 16, 'Ember' is not defined.
Run Code Online (Sandbox Code Playgroud)

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