2013-04-08 2 views
14

J'ai un fichier standard Embermain.js, qui commence comme ceci:jshint se plaint: « Ember » est pas défini

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

En l'utilisant jshint se plaint de Ember pas défini, ce qui est vrai pour ce dossier dans le serveur, pendant la phase de déploiement. Pour cette raison, beaucoup de messages d'erreur sont affichés.

Ember est mis à disposition dans le navigateur par la balise script dans index.html:

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

Comment puis-je dire à propos jshintEmber?

Répondre

16

Ce qui suit devrait le faire:

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

Trouvé dans JS Hint Docs

+0

Vous voulez ajouter '/ * global Ember * /' à 'main.js', avant d'instancier' this.App'? Cela ne fonctionne pas pour moi. – dangonfast

+0

Ensuite, il doit y avoir quelque chose de mal avec votre configuration JSHint. Cela fonctionne pour moi et comme vous le voyez, je l'ai pris à partir des Docs. – mavilein

+0

J'ai trouvé la réponse dans la liste de diffusion jshint: vous ne pouvez pas mettre un espace avant 'global'. Cela doit être comme ceci: '/ * Ember global * /'. Pouvez-vous corriger votre réponse pour que je puisse l'accepter? – dangonfast

16

Si vous utilisez la nouvelle ES6, par exemple de ember-cli, vous devez importer Ember:

import Ember from 'ember'; 

Je suivais Evil Trout's Ember Reddit tutorial et j'ai vu l'erreur suivante dans des tests e:

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

ajoutant la ligne ci-dessus au début de my-new-app/routes/subreddit.js passé les tests.

Questions connexes