我正在制作一个小的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
文件,请勿识别我在Mod
函数中传递的wagner.invoke
参数。由于某种原因,它没有连接:
错误
Error: No such dependency: Mod <-
at dfs (/home/ubuntu/workspace/server/node_modules/wagner-core/lib/topologicalSort.js:34:11)
我做错了什么?
答案 0 :(得分:0)
我发现了问题......问题发生在index.js
,require("./models", wagner);
应该是require("./models")(wagner);
。
我希望它可以帮助其他人面对同样的错误。