私はセネカでのnoobだと私はちょうどノードJSでMicroservicesの開発からサンプルコードを実行しようとしている、そしてそれは言う:app.use()にはミドルウェア関数app.use(seneca.export( 'web'))が必要です。
TypeError: app.use() requires middleware functions at EventEmitter.use (/home/oem/node_modules/express/lib/application.js:209:11) at Object. (/home/oem/Documents/seneca/app.js:7:8) at Module._compile (module.js:409:26) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:139:18) at node.js:974:3を:イムが言うエラーが出
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);
が、
また、Webからコピーした別のサンプルコードを実行しようとしましたが、申し訳ありませんがリンクを見つけることができます。しかし、私はちょうどコピー、貼り付けて実行しようとしたと私は同じエラーを持っています。私はこれが設定上の問題だと思っていますか?
編集
私はまだこれを再生しようとしています。私がこれを理解する方法は、app.use行では基本的にseneca-webモジュールを呼び出すことです。そう私がやったことは
app.use(require('seneca-web'))
代わりの
app.use(seneca.export('web'))
だったし、私はそれがコマンドでエラーなしでスクリプトを実行した、node app.js
を走りました。 ブラウザからモジュールにアクセスしようとすると、utilが見つからないというエラーが表示され、実際にsenecaからの呼び出しによるseneca Webファイルを指しています。今私は
私は6.0から4.0に持っているノードのバージョンのバージョンを下げることを試みたが、それでもメインseneca.js fileを見て取り、同じエラー
あなたは[こちら](https://github.com/senecajs/seneca-web#quick-example)からExpressの例を試してみましたもたらしまたは[ここ](http://korinets.name/express-seneca-example.html)? – mscdex
最初のリンクには、私も同様のエラーが表示されます。地図のキーワードを指していて、予期せぬものであると言います。 2番目のリンクではエラーはありませんが、 –
のSOUNDやGithubを見ている例の中では基本的にそうではありませんが、これは再現可能ですが、senecaをミドルウェアとしてロードしようとしません。 – cviejo