Как установить baseUrl по умолчанию - PullRequest
4 голосов
/ 05 апреля 2011

Я использую RequireJS, и все мои модули находятся в /payloads/backend/application.

Т.е.

/payloads/backend/application/blog/newPost.js
/payloads/backend/application/blog/models/category.js

Всякий раз, когда я использую require(), я должен указать baseUrl в конфигурацииобъект:

require({baseUrl: "/payloads/backend/application"}, ["blog/widgets/categories"], function(widget){
        // do some stuff with widget
    });

Я пытался добавить это в мой <head>:

<script type="text/javascript"> 
    var require = {
        baseUrl: "/payloads/backend/application"
    };
</script> 

Что не помогает ...

Я пытался временно переместить требуют.js в папку приложения, которая тоже не помогла.

Как указать baseUrl по умолчанию?

1 Ответ

6 голосов
/ 05 апреля 2011

Можете ли вы показать, как вы указываете порядок встроенного вызова require выше с тегом script для загрузки require.js? С RequireJS 0.24.0 и выше это должно работать:

<script type="text/javascript"> 
    var require = {
        baseUrl: "/payloads/backend/application"
    };
</script> 
<script src="path/to/require.js"></script>
<script>require(["blog/widgets/categories"], function () {}</script>

Если вы используете атрибут data-main (рекомендуется), а main.js уже находится в каталоге «apps», то все должно сработать: baseUrl должен быть автоматически установлен в каталог приложений:

<script data-main="/payloads/backend/application/main.js" src="path/to/require.js"></script>

Вышеуказанное работает только с RequireJS 0.24.0 и выше.

Также может помочь дополнительная информация об ошибке: она все еще использует baseUrl относительно страницы? Есть ли какая-то ошибка в консоли? Проверка панели «Сеть» или «Ресурсы» в инструментах веб-разработчика браузера покажет, какие пути к файлам были использованы.

...