2015-08-21 5 views
0

Я пытаюсь создать узел (или выразить? Я по-прежнему нооб, поэтому не знаю, что делает здесь настоящую работу) визуализирует представления из нескольких папок. Поэтому, если у меня есть страница входа в систему, то есть отдельная папка с index.ejs для входа в систему и другие файлы для входа. Для моей главной страницы есть другая папка с индексом и т. Д.узел нескольких видов папок

I нашел эту ссылку, которая была полезной https://strongloop.com/strongblog/bypassing-express-view-rendering-for-speed-and-modularity/, однако они приводят примеры для механизма рендеринга нефрита и марко. Я использую ejs, и я пытаюсь использовать их, но они не работают. Например:

Я попытался это одно:

var templatePath = require.resolve('./template.jade'); 
var templateFn = require('jade').compileFile(templatePath); 

app.get('/', function (req, res) { 
    res.write(templateFn({name: 'Frank'}); 
    res.end(); 
}); 

, но я заменил require('jade') с require('ejs'), но затем я получаю сообщение об ошибке на compileFile(templatePath):

неопределенный не является функция

Я также попробовал другой пример с marko

var templatePath = require.resolve('./template.marko'); 
var template = require('marko').load(templatePath); 

app.get('/', function (req, res) { 
    template.render({name: 'Frank'}, res); 
}); 

, но полученная же ошибка на load(templatePath). Я не могу понять, как сделать узел визуализации вида из других мест, чем в корневой папке views

ответ

1

ejs имеет только compile() функцию, которая принимает в струнной версии шаблона в качестве аргумента. Поэтому сначала вам необходимо сначала загрузить шаблон с диска:

var fs = require('fs'); 
var templatePath = require.resolve('./template.ejs'); 
var template = require('ejs').compile(fs.readFileSync(templatePath, 'utf8')); 

app.get('/', function (req, res) { 
    res.end(template({name: 'Frank'})); 
}); 
+0

один вопрос об этом. Что такое 'fs' –

+0

' fs' является одним из основных модулей, описанных в [документации узла] (https://nodejs.org/docs/latest/api/). – mscdex

+0

Я вижу, спасибо –

Смежные вопросы