Closed vikikamath closed 5 years ago
I am trying to load a hbs template from webpackDevMiddleware file system but apparently res.render() can lookup only the disk
hbs
webpackDevMiddleware
res.render()
const webpack = require('webpack') const config = require('./webpack.config') const compiler = webpack(config) const webpackDevMiddleware = require('webpack-dev-middleware') const app = express() const devMiddleware = webpackDevMiddleware(compiler, { publicPath: config.output.publicPath, historyApiFallback: true, }) app.get('/:page', (req, res) => { const templateFilePath = `${req.params.page}`, // look up templateFilePath on **devMiddleware.fileSystem** const templateFileAsString = devMiddleware.fileSystem.readFileSync(templateFilePath).toString()) res.render(??, {title: 'watever'}) // <=== How do I render this ? }) app.listen(PORT, () => console.log('running'))
Following worked for me:
const template = Handlebars.compile(templateFileAsString); res.send(template({title: 'watever' })
I am trying to load a
hbs
template fromwebpackDevMiddleware
file system but apparentlyres.render()
can lookup only the disk