2013-04-08 6 views
14

Ich habe einen Standard Embermain.js Datei, die wie folgt beginnt:jshint klagt: ‚Ember‘ definiert nicht

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

Laufen dies durch jshint beschwert sich über Ember nicht definiert ist, die für diese bestimmte Datei wahr ist auf dem Server während der Bereitstellungsphase. Aus diesem Grund werden viele Fehlermeldungen angezeigt.

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

Wie kann ich sagen jshint über Ember:

Ember im Browser durch den script Tag in index.html zur Verfügung gestellt?

Antwort

16

Folgendes sollte es tun:

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

in JS Hint Docs gefunden

+0

Sie meinen "/ * global Ember * /' zu 'main.js' hinzufügen, bevor Sie' this.App' instanziieren? Das funktioniert nicht für mich. – dangonfast

+0

Dann muss etwas mit Ihrem JSHint-Setup nicht stimmen. Es funktioniert für mich und wie Sie sehen, habe ich es aus den Docs genommen. – mavilein

+0

Ich fand die Antwort in der Mailingliste jshint: Sie können kein Leerzeichen vor 'global' setzen. Es muss so sein: '/ * global Ember * /'. Können Sie Ihre Antwort korrigieren, damit ich sie annehmen kann? – dangonfast

16

Wenn Sie die neue ES6 verwenden, zum Beispiel aus ember-cli, müssen Sie Ember importieren:

import Ember from 'ember'; 

Ich folgte Evil Trout's Ember Reddit tutorial und sah den folgenden Fehler in th e-Tests:

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

die obige Zeile an die Spitze der my-new-app/routes/subreddit.js Zugabe bestanden die Tests.

Verwandte Themen