首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法为rest微服务运行seneca

无法为rest微服务运行seneca
EN

Stack Overflow用户
提问于 2016-11-10 06:43:38
回答 2查看 336关注 0票数 0

在进行必要的导入之后,我的可执行Js中有以下代码。

代码语言:javascript
复制
seneca.ready(function(err){
seneca.act('role:web', {use:{
    prefix: '/products',
    pin: {area:'product', action:'*'},
    map: {
        list:{GET:true}
    }
}})
var express = require('express');
var app = express();
app.use(require('body-parser').json());

app.use( seneca.export('web') );
app.listen(8082);

});

在试图运行此示例时,我得到了以下错误:

Seneca致命错误 消息: seneca:导出web还没有被插件定义。 代码: export_not_found 详细信息:{ key:'web‘}

谢谢你,苏米特

EN

回答 2

Stack Overflow用户

发布于 2016-11-10 08:32:41

我是个初学者,我希望这个片段会有用:

代码语言:javascript
复制
var seneca = require('seneca')()
var Web = require("seneca-web");
var Express = require('express');

var app = Express();

var config = {
        Routes : [ {
            prefix : '/products',
            pin : {
                area : 'product',
                action : '*'
            },
            map : {
                list : {
                    GET : true
                }
            }

        }
        ],
       adapter : require('seneca-web-adapter-express'),
        context : app

    };

seneca.use(Web, config);

seneca.add({
    role: "web",
    area : "product",
    action : "list"
 }, function(req, done) {

     done(null,{result: "my list of products"});
});


seneca.ready(function(err) {    

     app.use(require('body-parser').json());

     app.use(seneca.export('web/context'));
     app.listen(8082);

    seneca.act('role:web,area:product,action:list',console.log);    

 });

Seneca最近遇到了一些更改,您应该使用一个适配器来表示。您可以在这里看到示例在seneca-web github页面上

票数 1
EN

Stack Overflow用户

发布于 2017-08-17 04:34:10

示例: index.js

代码语言:javascript
复制
const seneca = require('seneca')()
const express = require('express')()
const web = require('seneca-web')
const cors = require('cors')

var Routes = [{
  prefix: '/products',
  pin: 'area:product,action:*',
  map: {list: {GET: true}}
}]
express.use(cors())
var config = {
  routes: Routes,
  adapter: require('seneca-web-adapter-express'),
  context: express,
  options: {parseBody: true}
}
seneca.client()
.use(web, config)
.ready(() => {
  var server = seneca.export('web/context')()
  server.listen('8082', () => {
    console.log('server started on: 8082')
  })
})
seneca.add({area: 'product', action: 'list'}, function (args, done) {
  try {
    done(null, {response: 'Product List'})
  } catch (err) {
    done(err, null)
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40521413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档