Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   запуск javascript'a на сервере (https://javascript.ru/forum/misc/50514-zapusk-javascript%27-na-servere.html)

skrudjmakdak 29.09.2014 15:16

запуск javascript'a на сервере
 
задачка вот такая:
есть сервер, на нем есть js файл в нем соответственно скрипт(кэп). сам сервер любой php, java, c# особо без разницы, лишь бы можно было реализовать. нужно запустить на сервере этот скрипт. с результатом я уже решу что делать)) хотя бы вывести на экран.

можно такое реализовать? например, есть explorer, он же умеет работать с js. как нибудь программно запустить его и через него выполнить, правда я это слабо все представляю..))

преимущественно c#

MallSerg 29.09.2014 16:35

в принципе такое возможно но в 99.9999% это глупое решение

kobezzza 29.09.2014 17:55

Цитата:

java
Ну Java из коробки начиная с 6-й версии включает в себя JS VM - http://habrahabr.ru/post/195870/.

Цитата:

преимущественно c#
http://v8dotnet.codeplex.com/

***

А так ставишь VM на сервак и юзаешь, в чём проблема? А ещё проще - поставить ноду (т.к. помимо самой VM там работа с файловой системой, http и т.д.). Просто запускай как дочерний процесс и всё.

kobezzza 29.09.2014 18:00

Цитата:

в принципе такое возможно но в 99.9999% это глупое решение
Голословное утверждение, т.к. такое используется повсеместно и для этого в Java, например, из коробки включён JS, ибо очень удобно использовать скриптовый язык вместе с компилируемым, причём вместо JS юзать можно что душе угодно (Python, Ruby, Groovy, Perl, Lua и т.д.), например c C++ обычно юзают Lua.

Aetae 29.09.2014 18:32

skrudjmakdak, если сервер совсем любой - почeму бы сразу не заюзать Node JS?:)
А так, если сервак виндовый, то можно двиг v8 не ставить, а пускать через встроенный ie-шный(если никаких современных фич js не требует). http://stackoverflow.com/questions/1...n-from-c-sharp

skrudjmakdak 29.09.2014 21:23

Цитата:

Сообщение от MallSerg (Сообщение 332676)
в принципе такое возможно но в 99.9999% это глупое решение

этот код не будет запускаться ежесекундно, ежеминутно... он не будет под нагрузкой. он будет запускаться в тестовых приложениях 1 раз в 300 лет (грубо говоря). мне просто хотелось бы имея скрипт его запускать и смотря на конфиги выдавать результат

Цитата:

Сообщение от Aetae (Сообщение 332692)
skrudjmakdak, если сервер совсем любой - почeму бы сразу не заюзать Node JS?:)

было бы уж совсем просто))

MallSerg 30.09.2014 00:13

Цитата:

Сообщение от kobezzza
Голословное утверждение, т.к. такое используется повсеместно и для этого в Java,

ты просто плохо понял цели автора ).
ВАНГУЮ!! ему не нужен скриптовый язык ему на сервере нужен DOM со всемы вытекающими.
т.е. постоить DOM и браузерное окружение что бы там работали всякие jQuery и getElementById т.е. клиентские скрипты
Для c# есть целый компонент webBrowser и подробная документация на русском
в общем у класса webBrowser есть методы для работы с DOM страницы они позволяют без проблем вызывать любой JS страницы и проверять результат.
Или же проще создать COM объект из C# класса тогда со стороны JS можно использовать/вызывать любые свойства и методы C# класса через интерфейс ActivX -> COM

kobezzza 30.09.2014 00:33

MallSerg, ну для такой задачи можно подключить тот же WebKit (как раз так и сделано в http://phantomjs.org/, кстати может для ТС подойдёт) или ещё какой движок, и юзать его из C#, хотя если есть встроенные решения, то наверно будет лишним.

skrudjmakdak 30.09.2014 12:01

Цитата:

Сообщение от MallSerg (Сообщение 332750)
ему не нужен скриптовый язык ему на сервере нужен DOM со всемы вытекающими.
т.е. постоить DOM и браузерное окружение что бы там работали

мне не нужен dom)) возможно потом, когда нибудь..
конкретный пример, есть файл myfile.js и в нем функция:
function myf(a) {
  return a + 6;
}


мне надо, открыть этот файл, вызваться эту функцию с аргументом. чтобы сервер вернул значение этой функции. и в зависимости от результата я буду делать соответствующие действия

пс. сейчас загружен другим, пока не разбирался с тем что мне написали

kobezzza 30.09.2014 12:29

skrudjmakdak, тогда тем более на твой вопрос здесь дали исчерпывающий ответ :)


Часовой пояс GMT +3, время: 00:45.