Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.06.2018, 17:19
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Nunjucks - файл не найден
Добрый день. Подскажите, пожалуйста, в чем ошибка. У автора все работает. У меня в браузере выводится ошибка -

Error: template not found: index.html
at createTemplate (J:\Node\chaat\node_modules\nunjucks\src\environme nt.js:272:15)
at next (J:\Node\chaat\node_modules\nunjucks\src\lib.js:28 2:7)
at handle (J:\Node\chaat\node_modules\nunjucks\src\environme nt.js:311:11)
at J:\Node\chaat\node_modules\nunjucks\src\environmen t.js:321:9
at next (J:\Node\chaat\node_modules\nunjucks\src\lib.js:28 0:7)
at Object.asyncIter (J:\Node\chaat\node_modules\nunjucks\src\lib.js:28 6:3)
at Environment.getTemplate (J:\Node\chaat\node_modules\nunjucks\src\environme nt.js:303:9)
at Environment.render (J:\Node\chaat\node_modules\nunjucks\src\environme nt.js:342:10)
at NunjucksView.render (J:\Node\chaat\node_modules\nunjucks\src\express-app.js:22:9)
at tryRender (J:\Node\chaat\node_modules\express\lib\applicatio n.js:640:10)

Хотя эта директория и файл присутствуют.

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

nunjucks.configure('./client', {
    autoescape: true,
    express: app
});

app.get('/', function(req, res) {
    res.render('index.html', {date: new Date()});
});

app.listen(3000, '0.0.0.0', function() {
    console.log('Server started on port 3000');
});
Ответить с цитированием
  #2 (permalink)  
Старый 19.06.2018, 20:25
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Спасибо, попробую завтра. А почему так? Ведь даже на оф. сайте nunjucks синтаксис именно такой
var app = express();

nunjucks.configure('views', {
    autoescape: true,
    express: app
});

app.get('/', function(req, res) {
    res.render('index.html');
});
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2018, 20:48
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Сообщение от Audaxviator Посмотреть сообщение
app.get('/', function(req, res) {
  var x = nunjucks.render('index.html', {date: new Date()});
  res.send(x);
});
Получаю точно такую ошибку -
Error: template not found: index.html
at createTemplate (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \environment.js:272:15)
at next (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \lib.js:282:7)
at handle (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \environment.js:311:11)
at H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \environment.js:321:9
at next (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \lib.js:280:7)
at Object.asyncIter (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \lib.js:286:3)
at Environment.getTemplate (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \environment.js:303:9)
at Environment.render (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\src \environment.js:342:10)
at Object.render (H:\WEB DEVELOPMENT\NODEJS\chaat\node_modules\nunjucks\ind ex.js:91:14)
at H:\WEB DEVELOPMENT\NODEJS\chaat\server\server.js:15:22
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2018, 21:19
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Вот что там написано -
Using express? Simply pass your express app into configure:

var app = express();

nunjucks.configure('views', {
autoescape: true,
express: app
});

app.get('/', function(req, res) {
res.render('index.html');
});
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2018, 21:50
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Короче я использую express и по идее все правильно делаю, вот только не понимаю почему файл не найден((((
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2018, 07:47
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Сообщение от Audaxviator
Переводчик есть?
Да как бы не в совершенстве знаю но смысл понимаю. А дальше читали что написано там же?
Note that you can do this automatically with the simple API call configure by passing in the app as the express option. Returns env for further method chaining.
Что ты напишешь вот так -
var express = require('express');
var app = express();
var nunjucks = require('nunjucks');

var env = nunjucks.configure('./client', { autoescape: true });

env.express(app);
app.get('/', function(req, res) {
    res.render('index.html', {date: new Date()});
});


Что вот так -
var express = require('express');
var app = express();
var nunjucks = require('nunjucks');

nunjucks.configure('./client', {
    autoescape: true,
    express: app
});

app.get('/', function(req, res) {
    res.render('index.html', {date: new Date()});
});


Разницы никакой.
Ответить с цитированием
  #7 (permalink)  
Старый 20.06.2018, 10:40
Интересующийся
Отправить личное сообщение для vdekameron Посмотреть профиль Найти все сообщения от vdekameron
 
Регистрация: 26.05.2018
Сообщений: 16

Сообщение от Audaxviator
Это элементарно, Ватсон.
Вот именно!)))

Все оказалось намного проще. Больше разговоров было)
var express = require('express');
var app = express();
var nunjucks = require('nunjucks');
var path = require('path');

var views = path.join(__dirname, '..', './client');

nunjucks.configure(views, {
    autoescape: true,
    express: app
});

app.get('/', function(req, res) {
    res.render('index.html', {date: new Date()});
});

app.listen(3000, '0.0.0.0', function() {
    console.log('Server started on port 3000');
});


Но большое спасибо что натолкнули на правильный ваниант.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить произвольный файл в веб-хранилище (localstorage)? ice99 Общие вопросы Javascript 2 05.01.2018 09:26
Как правильно сохранить загруженный файл? 2chan Node.JS 10 03.04.2016 23:11
Преобразование Base64 в файл в IndexedDb pakskiy Общие вопросы Javascript 4 15.04.2015 13:26
Не работает файл htacces kilogram Серверные языки и технологии 16 17.04.2012 20:57
Как можно достать файл из <input type="file"/> преобразовать файл в base 64 maxcab Events/DOM/Window 2 28.06.2011 22:52