mean.io中的悬垂注射是如何工作的。根据docs http://learn.mean.io/#mean-packages-dependency-injection。
我创建了两个包pkg1和pkg2。在我的pkg2 app.js文件中
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;
});但是当我启动应用程序时,我会得到这个错误。
Error: dependency 'Pkg1' was not registered使用以下代码注册Pkg1
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;
});两个包都是使用命令创建的。
mean package pkg1
mean package pkg2发布于 2014-12-14 09:47:34
当您有两个包时,您可以在另一个包中使用一个包,如下所示。
在Pk1中,您可以注册包:
var Module = require('meanio').Module;
var Package1 = new Module('pk1');
Package1.register(function(app) {
...
});然后,您可以在第二个包中使用pk1。
var Module = require('meanio').Module;
var Package2 = new Module('pk2');
Package2.register(function(app, pk1) {
...
});确保您使用的是pk1,而不是Package1。否则,meanio包系统会给出包未注册的错误。
https://stackoverflow.com/questions/27370146
复制相似问题