Comments (10)
Hi! Thank your for checking out Fastify!
Can you create a complete example with a gist?
from point-of-view.
Hi Tomas,
For sure, check out here:
https://gist.github.com/dnohr/de935d01dc22d5cf45dee34979dda3a1
All the EJS files are located in the same "views" folder, but resulting in the same error:
"Error: Could not find include include file."
I have tried implement the EJS include function in different ways, but can't find the right relative path. This example works fine in Express, but would for sure like to test Fastify :-)
Thanks.
from point-of-view.
If you are using include
ejs needs a filename
option.
'use strict'
const fastify = require('fastify')()
const resolve = require('path').resolve
fastify.register(require('point-of-view'), {
engine: {
ejs: require('ejs')
},
options: { // this object will be passed to ejs.compile
filename: resolve('views')
},
templates: 'views'
})
fastify.get('/', (req, reply) => {
reply.view('/index.ejs', {})
})
fastify.listen(3000, (err) => {
if (err) throw err
console.log(`Server up: ${fastify.server.address().port}`)
})
from point-of-view.
Hi again,
Unfortunately the filename within the "fastify.register" options didn't work. I couldn't print the variable in the EJS file or use it in the EJS include function.
The only way to make it work is by adding the resolved path in the "reply.view", but it's not a pretty solution. Any ideas on fixing it?
JS
reply.view('index.ejs', { filename: path.resolve('views') });
EJS
<% include(filename + '/header.ejs') %>
Thanks.
from point-of-view.
I have answered in your gist. In that way everything works. :)
from point-of-view.
Super, didn't spot it. Much better!
Thanks for solving it Tomas 👍🏻
from point-of-view.
You're welcome! If you have more questions or suggestions please open other issues!
from point-of-view.
Hi all, I spent a lot of time on the same problem ... thanks a lot for the comments in the gist.
Sorry, could you put that info even in some documentation (project README) or one of the samples ? Could be useful to many people ...
Anyway thanks a lot,
Sandro
from point-of-view.
Sandro, the best approach would be if you open up a PR with the doc/example you think we are missing!
from point-of-view.
Hi Matteo, I'll do that. Thanks for now.
from point-of-view.
Related Issues (20)
- Allow custom `Content-Type` header for Nunjucks HOT 1
- How to render view dynamically by http status on ExceptionFilter HOT 1
- Nunjucks templates do not dynamically reload in development HOT 4
- could you add support of svelte? HOT 1
- support for async minify methods HOT 3
- eta v3 integration doesn't work HOT 1
- nunjucks custom filter is not working HOT 1
- I am getting the following error after installing and configuring the lib: reply.view is not a function HOT 2
- Latest version of Eta no longer works HOT 6
- Support for view raw text
- `fastify.view` is rendered without `reply.locals` HOT 18
- Swig support HOT 3
- Like operator not works on return reply.view HOT 7
- Postgresql's like operator not works on return reply.view HOT 1
- Fastify app not updating pages unless another route is added HOT 1
- When `onError` hook is defined, failure to compile template crashes server (ejs) HOT 4
- Proposal: Remove `send` calls HOT 4
- Support absolute paths for `layout` and `partials` properties for Handlebars HOT 2
- edge.js templates HOT 7
- Is the latest version (9.1.0) not published to npm? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from point-of-view.