требовать.js не загружает никаких модулей



Я пытаюсь загрузить модуль с помощью require.js, и у меня есть следующее В моем приложении.js:



require.config({
baseUrl: "js"
});


alert("hello world"); // for debugging

require(['eh2'], function(eh2) {
alert("nothing here"); // for debugging
});


Когда я запускаю свое приложение, хотя, несмотря на приложение.js загружается, модуль, который мне нужен, никогда не загружается - "hello world" выполняется, но "nothing here" не делает!



Мой тег скрипта на HTML-странице выглядит так:



<script type="text/javascript" src="js/lib/require.js" data-main="app"></script>


И eh2.js находится в папке js, и он завернут в оператор define:



define(["./screens/Screens"], function(screens) {
return {
// code here
};
});


Что я делаю не так? Это требует.JS беззвучно проваливается при загрузке какого-то подмодуля под экраны.Джей-Эс, может быть?



Вот код из модуля Screens:



    define([ "screens/TitleScreen", "screens/GameScreen" ], function(titleScreen, gameScreen) {
return {

screenFuncs: {
"TitleScreen" : titleScreen.TitleScreen,
"GameScreen" : gameScreen.GameScreen,
},

buildScreen: function(data) {
var func = screenFuncs[data.type];
var screen = new func(data.params);
return screen;
},
};
});


Должны ли пути в вызове define быть относительно текущего местоположения файла js, в котором я нахожусь, или к корню, определенному в приложении.кстати, Джей-Эс?

464   1  

1 ответ:

Заменить это:

define(["./screens/Screens"], function(screens) {
    ....
});

Либо с абсолютным вариантом пути:

define(["screens/Screens"], function(screens) {
    ....
});

Или использовать:

define(function(require) {
    var screens = require("./screens/Screens");
    ....
});

Из документов:

Относительные имена модулей внутри define():

Для require("./относительное имя") вызовы, которые могут произойти внутри вызова функции define (), обязательно спросите для "require" как зависимости, так что относительное имя разрешается правильно:

define(["require", "./relative/name"], function(require) {
    var mod = require("./relative/name");
});

Или еще лучше, используйте сокращенный синтаксис, доступный для использования с переводом CommonJS модули:

define(function(require) {
    var mod = require("./relative/name");
});

Comments

    Ничего не найдено.