【问题标题】:Can't find why [$injector:unpr] occurs in my application, while trying to use base64在尝试使用 base64 时,找不到我的应用程序中出现 [$injector:unpr] 的原因
【发布时间】:2016-08-15 17:54:44
【问题描述】:

我收到以下错误,但不知道为什么。

angular.js:68 Uncaught Error: [$injector:unpr] Unknown provider: base64Provider <- base64 <- Search

我的 index.html 中包含 base64,位于另一个 html 下方的正文中

&lt;script src="bower_components/angular-base64/angular-base64.js"&gt;&lt;/script&gt;

它安装在我的凉亭下的依赖项下:"angular-base64": "^2.0.5",

它也在我的模块的依赖项中。

我不确定这里出了什么问题或者它到底在抱怨什么,因为应用程序的这一部分在其原始代码中有效,我正在将这部分转移到另一个应用程序。

这是我将它初始化为:

angular.module('MyApp', [ ..., 'base64' ])

【问题讨论】:

  • 您可能没有在您的 Angular 应用程序/模块中注册它(base64 模块)。由于缺乏信息,我将投票结束这个问题(我们在这一点上猜测)。
  • 您的意思是将其添加为依赖项吗?或者是其他东西。如果还有其他事情,请告诉我。谢谢@Igor
  • 您将不得不显示更多代码,特别是您的模块注册(您提供依赖项的位置)和故障点(如果它位于模块以外的其他地方,例如控制器或服务中)和它的依赖关系。
  • 我不确定故障点到底是什么,痕迹仅指向角度代码。实际上,我什至尝试删除注入的“base64”依赖项,但仍然出现相同的错误。

标签: javascript angularjs


【解决方案1】:

我不确定您的代码有什么问题,但如果您只是想要一个 base64 编码器/解码器,我建议您使用这个简单的脚本: https://gist.github.com/jrmatos/f5d9cbaea5c9ff81141a8956e61e754d

所以你可以这样工作:

var stringEncoded = Base64.encode("my string");

console.log(stringEncoded); // bXkgc3RyaW5n

var stringDecoded =  Base64.decode(stringEncoded);

console.log(stringDecoded); // my string

【讨论】:

  • 我只需要解码器,因为这是一个依赖它的现有项目,我正试图将它的一部分移至另一个应用程序。谢谢,不过如果我需要它看起来确实很有用。
猜你喜欢
  • 1970-01-01
  • 2014-06-03
  • 2011-11-14
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 2013-08-17
相关资源
最近更新 更多