Я не хочу, чтобы Jade или EJS на моем сайте. Как я могу создать экспресс-сайт без его отказа от шаблонов Jade? Благодаря
Как сделать сайт Express без механизма шаблонов?
Ответ 1
Если вам нужно напрямую обслуживать статические html файлы с возможностью кэширования ресурсов, но при этом все еще можно нажать "/" и получить index.html, тогда ответ будет таким же простым, как это:
var express = require('express');
var http = require('http');
var app = express();
app.use(express.static(__dirname + '/public'));
http.createServer(app).listen(3000);
Gotcha: Html файлы, включая index.html, должны быть внутри/общей папки вместо/views
Ответ 2
Вы можете прокомментировать строки
app.set 'views', __dirname + '/views'
app.set 'view engine', 'jade'
из кода инициализации Express.
Если вы используете только статический контент: https://github.com/visionmedia/express/blob/master/examples/static-files/index.js
В противном случае используйте вашу базу данных, свои файлы, свой пользовательский ввод или что-то еще, чтобы объединить строку, которая будет составлять ответ HTTP.
// Express 3.x
app.get('*', function(req,res){
fs.readFile('./foo.txt', 'utf8', function (err, data) {
if (err) throw err;
data += (req.query['something'] || "")
res.type('text/plain');
res.send(200, data);
});
});
Сказав это, я полюбил Джейд, поскольку я играл с ним последние несколько месяцев. Он имеет свои особенности, но на порядок быстрее писать любой сложный html.
Ответ 3
С Express 4.0.0 вам нужно только прокомментировать 2 строки в app.js:
/* app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade'); */ //or whatever the templating engine is.
И затем отбросьте свой статический html в каталог /public. Пример:/public/index.html
Ответ 4
Использовать рестайлинг http://restify.com/
var restify = require('restify'),
fs = require('fs');
var server = restify.createServer({
certificate: fs.readFileSync('path/to/server/certificate'),
key: fs.readFileSync('path/to/server/key'),
name: 'MyApp',
});
server.listen(8080);
Это сильно зависит от Express -Routing
Ответ 5
Вы можете использовать команды выше, чтобы установить экспресс-генератор глобально, а затем создать проект без движка представления
npm install -g express-generator
express newProject --no-view
Ответ 6
Просто клонировать это репо
https://github.com/master-atul/express4-html-barebone-example
и следуйте его инструкциям readme.
В этом нет шаблонного движка.
Надеюсь, что это поможет:)