Общие ресурсы javascript между Node.js и Apache / PHP - PullRequest
1 голос
/ 19 марта 2012

Я создаю веб-сайт, который использует Apache + PHP на порту 80 для внешнего интерфейса и Node.js + Socket.IO для динамических обновлений на порту 3000. Существует довольно много общих ресурсов Javascript между ними, и я бы хотел бы знать, как я могу поделиться ими.

Вот мой макет проекта:

project/
    www/                 // Apache DocumentRoot
        index.php
        js/              // Javascript files for the HTML pages
        css/
    app/
        App.php          // All the PHP files
    node/
        node_modules/    // Node modules installed by NPM
        app.js           // Node.js application

Когда мое PHP-приложение генерирует HTML-код, ему нужно поместить некоторые <script> теги в <head> для таких вещей, как underscore.js, backbone.js, socket.io.js, etcerea. Но все эти скрипты находятся где-то в директории de node_modules.

Я видел различные примеры, но большинство используют Node.js также для обслуживания HTML-страницы (обычно с использованием экспресс-фреймворка). Таким образом, они генерируют сценарии, такие как /socket.io/socket.io.js. Но в моем случае два сервера работают на двух портах.

Итак, как я могу загрузить нужные файлы Javascript, не копируя вручную вещи из каталога node_modules в каталог js в DocumentRoot?

1 Ответ

3 голосов
/ 19 марта 2012

Есть 2 варианта:

  • Создать символическую ссылку (указывающую с www / js на node_modules)
  • Создайте псевдоним Apache2 в вашем файле конфигурации Apache (см. здесь )

Если у вас есть доступ к вашей конфигурации Apache2, возможно, второе решение будет лучшим. При поиске решения для символьных ссылок обязательно дважды проверьте принадлежность папок, если у вас возникли проблемы.

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