mean.io依赖注入 [英] mean.io dependency injection

查看:373
本文介绍了mean.io依赖注入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆