1

I am working on seneca js to setting up web app in node js. I have set routing and also check different actions using pattern matching in seneca, and it works.

I have integrated seneca with express as middleware. Now I want to render view template in seneca action. But I do not find anything on internet which can help me. Below is my sample code..

routes.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'
  }
}
}
]

server.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')
})
})

I have added one http call "http://127.0.0.1:4000/user" to render one view using express js. I can also map it with specific seneca action.

But I want to make it dynamic, so I can just use routes.js to mention view name for specific action if any.

Please help me to achieve this or guide me where I am doing mistake.

Patrick R
  • 6,621
  • 1
  • 24
  • 27

0 Answers0