require.js - динамические переменные времени выполнения для построения пути - PullRequest
2 голосов
/ 01 января 2012

Можно ли внедрить информацию времени выполнения в скрипт "data main" require.js и использовать его для построения путей?Дополнительные пояснения ...

В моем файле node.js app.js я динамически нахожу путь к сконфигурированной «теме», например:

var themePath = require('./conf/config.js').config.theme.full_path;

и более поздних данных в данных require.js.Основной сценарий, я хотел бы добавить этот путь к теме при определении путей.Итак, предположив, что я установил свой requirejs data-main = "xxx" и следующий файл xxx, я хотел бы сделать что-то вроде следующего:

require.config({
    baseUrl: "/js/",
    paths: {
        "templates"  : DYNAMIC_THEME_PATH + '/templates',
        "views"  : DYNAMIC_THEME_PATH + '/views'
    }
});

Я не уверен 1.как я могу «увидеть» themePath из основного файла данных require.js и 2. возможно ли это вообще?

РЕДАКТИРОВАТЬ - Мое решение

Итак,Реальная проблема, с которой я столкнулся, заключалась в том, чтобы получить переменную времени выполнения, обнаруженную на сервере, в основной сценарий данных require.js.На земле узлов глобальное не соответствует окну на стороне клиента (конечно), потому что JavaScript еще не подключен к браузеру.Поэтому я не вижу, как вы можете получить это обнаруживаемое в сценарии на стороне клиента.

Хорошо, так что я смог сделать это вставить путь обнаруженной темы в ejs, а затем динамически загрузить основную информациюсценарий с добавленным текстом:

<script data-main="<%= theme_path %>/main" src="../js/libs/require-jquery.js"></script>

Конечно, это означает, что у меня должен быть основной сценарий данных в каталоге тем, который не был моим первоначальным планом;однако у него есть то преимущество, что я могу затем использовать относительные пути для загрузки моего пути / к / пути к шаблонам / к / представлениям и т. д. и т. д.

Наконец, я ненавижу, когда люди отвечают, что онисобственные вопросы ... так что я собираюсь оставить это в надежде, что кто-то может дать мне лучшую рекомендацию или лучше объяснить это, и они могут получить кредит;)

...