我是 seneca 的菜鸟,我只是想运行使用 Node js 开发微服务的示例代码,它说:
var seneca = require('seneca')();
seneca.add('role:api,cmd:bazinga',function(args,done){
done(null,{bar:"Bazinga!"});
});
seneca.act('role:web',{use:{
prefix: '/my-api',
pin: {role:'api',cmd:'*'},
map:{
bazinga: {GET: true}
}
}})
var express = require('express');
var app = express();
app.use( seneca.export('web') ); // <<<<<< this line might be the cause
app.listen(3000);
但我收到一条错误消息:
TypeError: app.use() 需要中间件函数 在 EventEmitter.use (/home/oem/node_modules/express/lib/application.js:209:11) 在对象。(/home/oem/Documents/seneca/app.js:7:8) 在 Module._compile (module.js:409:26) 在 Object.Module._extensions..js (module.js:416:10) 在 Module.load (module.js:343:32) 在 Function.Module._load (module.js:300:12) 在 Function.Module.runMain (module.js:441:10) 启动时 (node.js:139:18) 在 node.js:974:3
另外我尝试运行从网上复制的另一个示例代码,很抱歉我只能找到链接。但我只是复制、粘贴并尝试运行,我得到了同样的错误。我在想这更像是一个设置问题?
编辑
我仍在尝试玩这个。我理解这一点的方式是在 app.use 行,基本上我只是调用 seneca-web 模块。所以我所做的是
app.use(require('seneca-web'))
代替
app.use( seneca.export('web') )
然后我跑了node app.js
,它运行了脚本,命令中没有错误。但是当尝试从浏览器访问该模块时,我收到错误消息,提示找不到 util 并指向 seneca web 文件,该文件实际上来自 seneca 的调用。现在我不知道现在该怎么办
我试图将节点版本的版本从 6.0 降低到 4.0,但仍然出现相同的错误