简体   繁体   中英

template to transform html code

I write a simple program which is really unreadable. At first, I didn't know how to use template so I decide, in spite of that, to write html code inside my node.js code. (solved)

Try something like this

I usually have a project structure like:

  • lib
  • node_modules
  • public (This is where the CSS and page JS goes)
  • routes
  • views (This is where you put your EJS templates)
  • app.js

In your package.json make sure you have included ejs

"ejs": "*"

In app.js (assuming you use express)

var express = require("express");
var app = express();
var routes = require("./routes/routes.js");
//Other setup code
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

//Here is an example HTTP route
app.get('/home', routes.view_page);

//Other Server code

And then in routes.js

exports.view_page = function (req,res){
    var customMessage = "Hello, Node is awesome";
    res.render("view", {
       msg:customMessage
    });

};

I think your .ejs file is fine, this is a very minimal express server that works with your example:

app.js:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  var customMessage = "My Message";
  res.render('view.ejs', {msg:customMessage });
});

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;
  console.log('Example app listening at http://%s:%s', host, port);
});

then use your view.ejs and put it in the sub-folder views/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM