Apache: запускать файлы Javascript, такие как файлы .php - PullRequest
1 голос
/ 13 декабря 2011

Apache и PHP

PHP с Apache действительно приятно играть, потому что вы можете создать случайный test.php с

echo '<h1>Hello World</h1>';

и при посещении http://myserver.com/test.php будет отображаться <h1>Hello World</h1>

Мое желание с Apache и JS

Я хотел бы создать файл test.js с

console.log('<h1>Hello World</h1>');

и когда я зайду http://myserver.com/test.js, будет показано <h1>Hello World</h1>

Что возможно сейчас

Ближайшая попытка, которую я нашел, была http://www.modjs.org/, но она больше не поддерживается.

Тем временем мы можем запустить , запустить экземпляр NodeJS и смоделировать apache с перечислением файлов и выполнением файлов javascript на основе URL, но это отстой ...

Кто-нибудь знает, возможно ли это? :)

Спасибо!

Ответы [ 3 ]

1 голос
/ 27 сентября 2012

TeaJS - это, вероятно, то, что вы ищете https://code.google.com/p/teajs/ (https://github.com/ondras/TeaJS). Вы включаете mod_js в ваш httpd.conf и затем пишете JavaScript вместо PHP.

var hello = request.get('hello');

response.write(hello);

Быстро созревает благодаря библиотекам баз данных, обработке сеансов и MVC.

0 голосов
/ 03 ноября 2014

Также здесь не упоминается рабочий CGI-скрипт для Apache - node-cgi, http://larsjung.de/node-cgi/ Затем вы назначаете расширение файла через .htaccess файл, который будет выполняться через node.js

Мне удалось установить и заставить его работать с базовыми сценариями, хотя для файлов с большими зависимостями он все еще не работает для меня ...

Процедура установки проста (обязательно запустите ее с помощью sudo), мне просто нужно было изменить пути в CGI-скрипте (суть здесь https://gist.github.com/quentar/2f5adfa7046082105efa) в каком-то скрипте, но затем он работает с базовым файлом, так что они выполняются узлом.

0 голосов
/ 13 декабря 2011

Почему вы хотите сделать что-то подобное. Node предлагает лучшую экосистему для демонстрации. Например, возьмите express и сделайте хорошую простую демонстрацию:

var app = express.createServer();

app.get('/test.php', function(req, res){
    res.send('<h1>Hello World</h1>');
});

app.listen(3000);

Кроме того, console.log не будет работать для передачи кода пользователю. Используйте методы на res, чтобы написать пользователю. Вы можете позвонить res.send несколько раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...