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-адреса, но это отстой...
Кто-нибудь знает, если это возможно? :)
Благодарю!
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.
Также не упоминается здесь рабочий скрипт CGI для Apache - node-cgi, http://larsjung.de/node-cgi/. Затем вы назначаете расширение файла через файл .htaccess
который должен выполняться через node.js
Я смог установить и заставить работать с базовыми сценариями, хотя для файлов с большими зависимостями он все еще не работает для меня...
Процедура установки проста (обязательно запустите ее с помощью sudo), мне просто нужно было изменить пути в сценарии CGI (см. Здесь https://gist.github.com/quentar/2f5adfa7046082105efa) в каком-то скрипте, но затем он работает с базовый файл, чтобы они выполнялись узлом.
Почему вы хотите сделать что-то подобное. Узел предлагает удобную экосистему для демонстрации. Например, возьмите экспресс и сделайте приятную простую демонстрацию:
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
несколько раз.