I’m trying to connect to express-handlebars.
This is my index.ts:
import * as express from 'express';
import { engine } from 'express-handlebars';
const app = express();
app.engine('handlebars', engine());
app.set('view engine', 'handlebars');
app.set('views', './pages');
app.get('/', (req, res) => {
res.render('home');
});
app.listen(3000);
This is my vite.config.mjs
import { resolve } from 'path';
import { defineConfig } from 'vite';
export default defineConfig({
server: {
open: '/',
},
root: resolve(__dirname, 'src'),
build: {
outDir: resolve(__dirname, 'dist'),
},
});
This is my package.json:
{
...
"scripts": {
"dev": "vite"
},
"engines": {
"node": ">=16.0.0"
},
"devDependencies": {
"@types/express": "^4.17.21",
"@types/node": "^20.14.5",
"sass": "^1.77.4",
"ts-node": "^10.9.2",
"typescript": "^5.4.5",
"vite": "^5.2.0"
},
"dependencies": {
"express": "^4.19.2",
"express-handlebars": "^7.1.3",
"handlebars": "^4.7.8",
"handlebars-loader": "^1.7.3",
"uuid": "^10.0.0",
"vite-plugin-checker": "^0.6.4",
}
}
And unfortunately I get an error in the console:
Uncaught TypeError: Cannot read properties of undefined (reading ‘from’)
Why does the error appear?
Thanks in advance for any help.