Apache: запускать файлы Javascript, такие как файлы .php

1

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-адреса, но это отстой...

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

Благодарю!

  • 2
    nodeJS - обычно путь.
  • 0
    @FakeRainBrigand Мне бы хотелось, чтобы экземпляр NodeJS «порождался» при доступе к файлу через Apache. Я не хочу, чтобы экземпляр NodeJS работал 24/24 для каждого маленького скрипта, который я делаю.
Показать ещё 1 комментарий

3 ответа

1

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

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

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

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

0

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

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 несколько раз.

  • 0
    Что ты предлагаешь? Разве это не может быть сделано для того, чтобы javascript на узле запускался как CGI? Я не понимаю, почему нет.
  • 0
    Ах, теперь я вижу. Нет, вам понадобится какой-нибудь процесс, который запускается в любое время для ответа на запросы. Это может быть экземпляр узла, который порождает другие экземпляры узла, или другой веб-сервер, такой как Apache.
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню