wagner.invoke 无法识别依赖项
wagner.invoke doesn't recognize dependency
背景
我正在制作一个小型 MEAN 堆栈应用程序,并且在我的测试应用程序中使用 wagner-core
作为依赖项注入器。
一切正常,只是我什至无法启动服务器...
问题与代码
我的测试应用以 index.js
开头。这个文件引导一切。然后我将 models.js
传递给 wagner,并以 api.js
文件终止,因此我的服务器知道要使用哪些路由。
index.js
"user strict";
let express = require("express");
let wagner = require("wagner-core");
require("./models", wagner);
let app = express();
app.use("/api/v1", require("./api")(wagner));
app.listen(8080);
console.log("Listening on port 8080");
models.js
"use strict";
let mongoose = require('mongoose');
module.exports = function(wagner) {
mongoose.connect("MY_CONN_STR_HERE");
let Mod = mongoose.model("Mod", require("./schemas/mod.js"), "mods");
let models = {
Mod
};
wagner.factory('Mod', function() {
return Mod;
});
return models;
};
api.js
"use strict";
let express = require('express');
module.exports = function(wagner) {
var api = express.Router();
api.get('/Mod/', wagner.invoke( function(Mod) {
return (req, res) => {
res.json({"test": true});
};
}));
return api;
};
这里的问题是,对于我的 api.js
文件,无法识别我在 wagner.invoke
函数中传递的 Mod
参数。由于某种原因,它没有连接:
错误
Error: No such dependency: Mod <-
at dfs (/home/ubuntu/workspace/server/node_modules/wagner-core/lib/topologicalSort.js:34:11)
问题
我做错了什么?
我发现了问题....问题出在 index.js
,require("./models", wagner);
应该是 require("./models")(wagner);
。
我希望它能帮助遇到同样错误的其他人。
背景
我正在制作一个小型 MEAN 堆栈应用程序,并且在我的测试应用程序中使用 wagner-core
作为依赖项注入器。
一切正常,只是我什至无法启动服务器...
问题与代码
我的测试应用以 index.js
开头。这个文件引导一切。然后我将 models.js
传递给 wagner,并以 api.js
文件终止,因此我的服务器知道要使用哪些路由。
index.js
"user strict";
let express = require("express");
let wagner = require("wagner-core");
require("./models", wagner);
let app = express();
app.use("/api/v1", require("./api")(wagner));
app.listen(8080);
console.log("Listening on port 8080");
models.js
"use strict";
let mongoose = require('mongoose');
module.exports = function(wagner) {
mongoose.connect("MY_CONN_STR_HERE");
let Mod = mongoose.model("Mod", require("./schemas/mod.js"), "mods");
let models = {
Mod
};
wagner.factory('Mod', function() {
return Mod;
});
return models;
};
api.js
"use strict";
let express = require('express');
module.exports = function(wagner) {
var api = express.Router();
api.get('/Mod/', wagner.invoke( function(Mod) {
return (req, res) => {
res.json({"test": true});
};
}));
return api;
};
这里的问题是,对于我的 api.js
文件,无法识别我在 wagner.invoke
函数中传递的 Mod
参数。由于某种原因,它没有连接:
错误
Error: No such dependency: Mod <-
at dfs (/home/ubuntu/workspace/server/node_modules/wagner-core/lib/topologicalSort.js:34:11)
问题
我做错了什么?
我发现了问题....问题出在 index.js
,require("./models", wagner);
应该是 require("./models")(wagner);
。
我希望它能帮助遇到同样错误的其他人。