如何在你的Ionic / AngularJs应用程序中包含和使用节点模块?

我有一个离子应用程序,我想包括节点模块angular-base64在我的控制器中使用,甚至包裹在一个angular度的服务等我走了,跑了

npm install angular-base64 

继续安装包含/myIonicApp/node_modules/内的angular-base64.min.js文件的文件夹。 所以文件的完整path是/myIonicApp/node_modules/angular-base64/angular-base64.min.js

但是,当我尝试在我的一个控制器中使用这个模块:

 app.controller('myController', ['$scope', '$base64', function($scope, $base64) { //$base64... } ]); 

它不知道我在说什么。 我必须做其他事情才能使这个工作? 也许在我的app.js东西?

Ionic V2在2017年接受的答案不再准确,并且.bowerrc已从默认安装中移除。

从官方的Ionic V2文档中, 您现在可以做到这一点 。

接受的答案是不正确的。 为了添加客户端模块到你的Ionic / AngularJS应用程序,你应该使用Bower而不是NPM。 NPM只能用于安装作为开发/构build/部署过程一部分的模块。 任何你想要作为客户端软件包的一部分被用户看到的东西都应该由Bower来pipe理。

如果您查看.bowerrc文件,您将看到以下内容:

 { "directory": "www/lib" } 

此configuration将www/lib目录设置为由bower安装的所有内容。 如果您使用以下命令,软件包将安装在正确的位置:

bower install --save angular-base64

--save标志将依赖项保存在您的bower.json文件中。)

您现在可以将脚本标记添加到您的index.html文件中: <script src="lib/angular-base64/angular-base64.min.js"></script>

您还需要如上所述将模块注入到您的应用程序中。 在app.js添加如下模块: angular.module('starter', ['base64'])

当使用像Bower或NPM这样的工具时,我发现不得不手动修改安装程序通常是我做错了的第一个信号!

  • www/lib放置目录angular-base64/angular-base64.min.js

  • index.html包含JS文件(例如: <script src="lib/angular-base64/angular-base64.min.js"></script>

  • app.js注入模块: angular.module('starter', ['base64'])

之后,您应该可以在应用程序中随处使用base64