Bonjour,
jusqu'alors mes petits essais nodejs utilisaient le view engine avec Jade, mais depuis j'utilise AngularJs et je voudrais supprimer la couche Jade pour uniquement router des pages html.
exemple qui fonctionne :
Maintenant ce que je voudrais faire sans JADE, qui me renvoie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 var express = require('express'); var path = require('path'); var cradle = require('cradle'); var app = express(); var server = app.listen(8080); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function(req, res) { res.render('index.jade'); }); app.get('/boot', function(req, res) { res.render('boot.jade'); });
Error: Cannot find module 'html'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at new View (/home/xxxxx/dev/html5/node_modules/express/lib/view.js:78:30)
at EventEmitter.render (/home/xxxx/dev/html5/node_modules/express/lib/application.js:569:12)
at ServerResponse.render (/home/xxxxdev/html5/node_modules/express/lib/response.js:961:7)
at /home/xxxio/dev/html5/app.js:21:9
at Layer.handle [as handle_request] (/home/xxxxx/dev/html5/node_modules/express/lib/router/layer.js:95:5)
at next (/home/xxxxdev/html5/node_modules/express/lib/router/route.js:131:13)
exemple qui fonctionne pas :
Quelqu'un a t'il la solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 var express = require('express'); var path = require('path'); var ent = require('ent'); var app = express(); var server = app.listen(8080); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); app.use(express.static(path.join(__dirname, '/public'))); app.get('/', function(req, res) { res.render('index.html'); }); app.get('/test', function(req, res) { res.render('test.html'); });
j'ai eu beau chercher sur gueugueule j'ai pas trouver comment résoudre mon problème ...
j'ai trouvé une solution avec la doc ExpressJS
j'ai remplacé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 app.set('view engine', 'html'); app.set('views', __dirname + '/views'); app.use(express.static(path.join(__dirname, '/public')));
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 app.set('views', __dirname + '/views'); app.use(express.static(path.join(__dirname, '/public'))); app.engine('html', require('ejs').renderFile);
Cela fonctionne, mais j'aurais aimer trouver une solution sans moteur de template comme EJS, je reste preneur de conseils .
Partager