Skip to content

Conversation

@chestozo
Copy link
Contributor

@chestozo chestozo commented May 3, 2014

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

А ты же понимаешь, что yate.run используется только в командной строке? Когда ты пишешь что-нить типа yate foo.yate data.json.
В реальной жизни — не используется.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Ну вот я его хочу на стороне descript-а заюзать.
Это та самая реальная жизнь )

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Еще раз прочитай мой коммент.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Я прочитал внимательно твой коммент.
Скажи мне тогда, как мне из nodejs вызывать yate?

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Ты не прочитал внимательно мой коммент.
Я тебе говорю, что ты поправил вообще не то, что нужно.
Эта функция не вызывается descript'ом. Да и вообще ничем, кроме тестов и консольной тулзы.
Скажи grep -R 'yate\.run' . и посмотри чтоль.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Я её уже вызывают вот так:
https://github.com/chestozo/noscript-demo/blob/master/server.js#L24

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

И если не надо её вызывать - скажи, чего вызывать, когда я хочу из ноды рендерить yate.

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Все тоже самое вызывать, что и в браузере.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Спасибо за ссылку.

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Ну и там про внешние функции не написано (потому что это для начинающих), но там же пишешь:

yr.externals.foo = function() { ... };
...

Ну или кладешь все в модуль типа:

//  externals.js
var yr = require('yate/lib/runtime.js');
yr.externals.foo = function() { ... };

И перед шаблоном его тоже require'ишь.

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

К слову, дескрипт внутри делает не так.
Уж не знаю сейчас, хорошо это или плохо. Но там шаблон не через require достается, а через vm.
Сделано это для того, чтобы он релоадился при изменении шаблона. Я вот сейчас думаю, что зря. И надо бы переделать.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Меня больше всего беспокоят глобальные объекты, но в схеме, которую ты описал - должно всё быть видно, что в текущем контексте, я так понимаю.

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Ну да. Собссно ты можешь, конечно, просто в global все напихать, если уж очень нужно.
Но мне вот кажется, что ты как обычно все переусложняешь. И это все вообще не нужно )

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Ну в реальном проекте как бы много чего отличается от идеального мира ;)

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Я решаю задачу "отрендерить тоже самое, что в браузере - но на сервере".
Не знаю, насколько стерильным должен быть процесс рендеринга, чтобы это гладко решалось (без всяких глобальных объектов).

@pasaran
Copy link
Owner

pasaran commented May 5, 2014

Ну я вижу, что у тебя там jsdom в ход пошел и вот это все.

@chestozo
Copy link
Contributor Author

chestozo commented May 5, 2014

Уже не пошёл, уже без него обошёлся ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants