首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mean.io依赖注入

mean.io依赖注入
EN

Stack Overflow用户
提问于 2014-12-09 01:45:03
回答 1查看 673关注 0票数 0

mean.io中的悬垂注射是如何工作的。根据docs http://learn.mean.io/#mean-packages-dependency-injection

我创建了两个包pkg1和pkg2。在我的pkg2 app.js文件中

代码语言:javascript
复制
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;
});

但是当我启动应用程序时,我会得到这个错误。

代码语言:javascript
复制
 Error: dependency 'Pkg1' was not registered

使用以下代码注册Pkg1

代码语言:javascript
复制
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;
});

两个包都是使用命令创建的。

代码语言:javascript
复制
mean package pkg1
mean package pkg2
EN

回答 1

Stack Overflow用户

发布于 2014-12-14 09:47:34

当您有两个包时,您可以在另一个包中使用一个包,如下所示。

在Pk1中,您可以注册包:

代码语言:javascript
复制
var Module = require('meanio').Module;
var Package1 = new Module('pk1');

Package1.register(function(app) {
    ...
});

然后,您可以在第二个包中使用pk1。

代码语言:javascript
复制
var Module = require('meanio').Module;
var Package2 = new Module('pk2');

Package2.register(function(app, pk1) {
    ...
});

确保您使用的是pk1,而不是Package1。否则,meanio包系统会给出包未注册的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27370146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档