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 renvoieCode:
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:
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:
1
2
3 app.set('view engine', 'html'); app.set('views', __dirname + '/views'); app.use(express.static(path.join(__dirname, '/public')));
par
Code:
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 .