我知道这个问题已经有其他相关的提问,但我已经阅读了超过10个答案,尝试了每一个答案,但都没有解决我的问题。
当我尝试加载外部纯JavaScript文件来编码JWT时,我遇到了这个错误:Uncaught ReferenceError: require is not defined
。
这是我正在尝试使用require()
包含的文件:https://github.com/hokaccha/node-jwt-simple,我已经通过npm
下载了它。
在我的代码中,我尝试了很多方法:
- 使用grunt concact将其包含在
main.js
中; - 在
<head>
中手动加载<script src="path/to/folder"></script>
; - 为nodeJs安装了RequireJs。
尽管进行了这些尝试,我仍然遇到了相同的错误。我做错了什么?
这是我目前正在使用的代码:
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(稍后将与应用程序的其余部分一起合并)
.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);
}])
我的主要目标是基于JWT令牌处理用户身份验证。目前的问题是在用户登录应用程序时对令牌进行编码/解码。
即使有这些,我仍然遇到了错误。你们知道如何解决吗?