mean.io依赖注入 [英] mean.io dependency injection
问题描述
如何在mean.io工作dpendency注入。按照该文档 http://learn.mean.io/#mean-packages-dependency - 注射。
我创建了两个包则pkg1和pkg2的。在我pkg2的app.js文件我有
Pkg2.register(功能(应用程序,身份验证,数据库,PKG1){
Pkg2.routes(应用程序,身份验证,数据库);
Pkg2.menus.add({
标题:pkg2的示例页面',
链接:pkg2的示例页面',
作用:['认证'],
菜单:主
}); Pkg2.aggregateAsset('CSS','pkg2.css'); 返回pkg2的;
});
但是,当我启动应用程序,我得到这个错误
错误:依赖PKG1未注册
PKG1使用以下code注册
Pkg1.register(功能(应用程序,身份验证,数据库){
Pkg1.routes(应用程序,身份验证,数据库);
Pkg1.menus.add({
标题:比如则pkg1页面',
链接:比如则pkg1页面',
作用:['认证'],
菜单:主
}); Pkg1.aggregateAsset('CSS','pkg1.css'); 返回PKG1;
});
两种封装都采用命令创建
意味着包则pkg1
意思是包则pkg2
当你有两个包,可以在下面的另一个使用一个包。
在PK1,可以在程序包进行注册:
VAR模块=要求('meanio')模块。
VAR包1 =新的模块('PK1');Package1.register(功能(应用程序){
...
});
然后就可以使用PK1在你的第二个包。
VAR模块=要求('meanio')模块。
VAR包2 =新模块(PK2');Package2.register(功能(应用程序,PK1){
...
});
请确保您使用 PK1 ,不是包1 即可。否则,meanio包装系统给你包没有注册的错误。
How does dpendency injection in mean.io work. As per the docs http://learn.mean.io/#mean-packages-dependency-injection.
I created two packages pkg1 and pkg2. In my pkg2 app.js file I have
Pkg2.register(function(app, auth, database,Pkg1) {
Pkg2.routes(app, auth, database);
Pkg2.menus.add({
title: 'pkg2 example page',
link: 'pkg2 example page',
roles: ['authenticated'],
menu: 'main'
});
Pkg2.aggregateAsset('css', 'pkg2.css');
return Pkg2;
});
But I get this error when i start the application
Error: dependency 'Pkg1' was not registered
Pkg1 is registered using the following code
Pkg1.register(function(app, auth, database) {
Pkg1.routes(app, auth, database);
Pkg1.menus.add({
title: 'pkg1 example page',
link: 'pkg1 example page',
roles: ['authenticated'],
menu: 'main'
});
Pkg1.aggregateAsset('css', 'pkg1.css');
return Pkg1;
});
Both packages are created using commands
mean package pkg1
mean package pkg2
When you have two packages, you can use one package in another as below.
In the Pk1, you can register the package:
var Module = require('meanio').Module;
var Package1 = new Module('pk1');
Package1.register(function(app) {
...
});
Then you can use the pk1 in your second package.
var Module = require('meanio').Module;
var Package2 = new Module('pk2');
Package2.register(function(app, pk1) {
...
});
Make sure you use pk1, not Package1. Otherwise, the meanio package system give you the package not registered error.
这篇关于mean.io依赖注入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!