AngularJs ReferenceError: besoin n'est pas défini

Je sais qu'il existe d'autres questions au sujet de ce problème, mais j'ai déjà plus de 10 réponses et essayé tous un seul et aucun d'entre eux travaillaient pour moi.

J'obtiens cette erreur: Uncaught ReferenceError: require is not defined quand j'essaye de charger une externe plaine fichier javascript pour encoder en JWT.

C'est le fichier que je suis en train d'inclure avec require(): https://github.com/hokaccha/node-jwt-simple j'ai télécharger avec npm.

Dans mon code, j'ai essayé beaucoup de choses.

  • Inclure dans le main.js avec grunt adresser;
  • Charger manuellement à l'intérieur de la <head> avec le <script src="path/to/folder"></script>;
  • Installer RequireJs avec npm pour nodeJs;

Avec toutes ces tentatives, j'ai eu les mêmes erreurs. Ce que je fais mal?

C'est le code que j'utilise actuellement:

index.html

<head>
<script type="text/javascript" src="dist/js/angular.min.js"></script>
<script type="text/javascript" src="dist/js/ui-router.min.js"></script>
<script type="text/javascript" src="dist/js/jwt.js"></script>
[... rest of head ...]

appCtrl.js (va concat plus tard, sur le construire avec le reste de l'application)

.controller('MainCtrl', 
    ['$rootScope', '$scope', '$state', 
    function($rootScope, $scope, $state) {
        var jwt = require('jwt');
        var payload = { foo: 'bar' };
        var secret = 'xxx';
        var token = jwt.encode(payload, secret);
        console.log(token);
}])

Mon principal objectif c'est de gérer l'authentification de l'utilisateur basée sur un JWT jeton. Le problème maintenant est de coder/décoder le jeton lorsque l'utilisateur est de vous connecter à l'app.

Même avec toutes ces informations, j'ai toujours l'erreur. Savez-vous comment résoudre ce problème?

  • veuillez utiliser la version complète de angular js PAS .min.js
  • mais pourquoi?Quelle est la raison? J'ai toujours utilisé ce fichier.
  • pourquoi essayez-vous d'exiger que le module Angulaire? il est pour le Nœud. Je veux dire, pourquoi vous en avez besoin là-bas ?
  • c'est un nœud du module. Pourquoi essayez-vous de le charger à côté client?
  • pas de vraies erreurs de .min fichiers
  • Voici la réponse, vous ne pouvez pas utiliser require (), car il n'existe pas dans le côté client. Essayez d'utiliser requireJS(). Voir: stackoverflow.com/questions/19059580/...
  • Je vais essayer d'obtenir ce fichier, car il a des fonctions pour encoder/décoder le JWT je vais l'utiliser pour faire de l'authentification de l'utilisateur.
  • Vous ne pouvez pas le faire...
  • mais n'est-ce pas jwt codant pour une tâche de serveur? Client seulement il consomme. Comme pour l'utilisation de dev version angulaire...errreur et la trace de la pile de sortie est plus verbeux
  • Ouais @charlietfl est droit, c'est pour node.js pas pour le côté client angularjs. vous ne serez pas en mesure de l'utiliser je pense
  • Ok, mais alors... Comment dois-je procèdent avec elle pour être en mesure de générer de l'encodage jwt? Pouvez-vous les gars, vous dites? Parce que sur les docs de jwt-simple, c'est à l'aide d'un require(jwt-simple) j'ai donc enseigné que serait la voie.
  • L'authentification de l'utilisateur est gérée dans le backend, où vous pourrez générer un jeton à l'aide de JWT et l'envoyer à votre client... votre client va la stocker dans la session de stockage et de vérifier les autorisations d'accès...
  • Serveur nodeJS/mongodb/JWT... vous aurez de repos en fin de points qui seront consommés par angularjs...
  • pouvez-vous donner un exemple sur comment procèdent à créer ce JWT jeton sur le côté serveur? Je suis en cours d'exécution de mon application web avec angularjs et php/mysql comme backend. Et désolé si un newbie question, mais je suis nouveau à cela et je viens de passer la journée à essayer de le comprendre.
  • sur jwt site il y a plusieurs différents bibliothèque php repos répertoriés. Devrait être facile de trouver des tutoriels aussi. Si vous n'êtes pas en cours d'exécution nœud de serveur, vous avez le mauvais fichiers de la bibliothèque
  • Corrigez-moi si je me trompe, mais je vais avoir besoin d'utiliser un serveur d'encoder le code pour générer mon JWT, comme ceci, pour php. Puis, dans ma webApp je vais avoir someother fonction pour juste décoder le jeton et être en mesure d'utiliser les données de mon application. Par exemple, afficher un msg de bienvenue avec le nom de l'utilisateur connecté.
  • Ce n'est même pas de sens. Vous dites dans les commentaires de votre backend php, mais vous essayez d'utiliser un nœud de la bibliothèque ici.
  • Depuis que je suis nouveau à cela, je suivais les docs que j'ai trouvé, qui a été basé sur le nœud. D'après les commentaires, je suis allé à un autre, à l'aide de la bibliothèque php fourni par le jwt.io site web. Mais encore, je ne sais pas comment l'utiliser.. Mais je vais essayer sur une meilleure façon maintenant