如何在你的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
。