1

我正在研究 seneca js 以在节点 js 中设置 web 应用程序。我已经设置了路由,并且还使用 seneca 中的模式匹配检查了不同的操作,并且它可以工作。

我已将 seneca 与 express 集成为中间件。现在我想在 seneca 动作中渲染视图模板。但是我在互联网上找不到任何可以帮助我的东西。下面是我的示例代码..

路由.js

'use strict'
module.exports = [
{
prefix: '/user',
pin: 'role:user,cmd:*',
map: {
  list_user: true,
  add_user: {
    GET: true,
  }
}
},
{
prefix: '/admin',
pin: 'role:admin,cmd:*',
map: {
  validate: {
    GET: true,
    alias: '/manage'
  }
}
}
]

服务器.js

var seneca = require('seneca')();
connection = require('./db.js');

seneca.use('./user.js');
var Routes = require('./routes.js');
var Express = require('express')
var Web = require('seneca-web')

var config = {
routes: Routes,  
adapter: require('seneca-web-adapter-express'),
context: Express()
}
seneca 
.use(Web, config)
.ready(() => {
server = seneca.export('web/context')()
var router = Express.Router();
server.set('view engine', 'ejs');  
server.get('/user', function (req, res) {
  res.render('view.ejs',{title:"testing"})
})   
server.listen('4000', () => {
  console.log('server started on: 4000')
})
})

我添加了一个 http 调用“ http://127.0.0.1:4000/user ”来使用 express js 呈现一个视图。我也可以用特定的 seneca 动作来映射它。

但我想让它动态化,所以我可以使用 routes.js 来提及特定操作的视图名称(如果有)。

请帮助我实现这一目标或指导我在哪里做错了。

4

0 回答 0