RequireJS с jQuery и Module - Uncaught ReferenceError: модуль не определен

Здесь у меня есть простая установка requirejs. Он состоит из двух зависимостей, одна из которых - jQuery, а другая - мой собственный модуль. Я получаю сообщение об ошибке на myModule.init ():

Uncaught ReferenceError: myModule is not defined

HTML:

<script data-main="js/app.js" src="js/require.js"></script>

Код в app.js:

requirejs.config({
    baseUrl: 'js/lib',
    paths: {
        app: '../app',
        jquery: 'jquery-3.1.1.min',
    }
});


// Start the main app logic.
requirejs(['jquery', 'app/myModule'],
    function($, myModule) {
        myModule.init();
    });

Вот модуль, который я создал:

define('myModule', function () {
    return {
            init: function(){
                console.log('Hello World!');
            }
        }
});

Журнал консоли:

Uncaught TypeError: Cannot read property 'init' of undefined

RequireJS Руководство по стилю

1 ответ

Не указывайте имя для вашего модуля.

// app/myModule.js
define(function () {
    return {
            init: function(){
                console.log('Hello World!');
            }
        }
});

Если вы чувствуете, что вам нужно, сделайте так, чтобы оно соответствовало тому, что вам "требуется", но это больше работы, и вам следует этого избегать (пусть инструмент оптимизации requirejs сделает это за вас):

// app/myModule.js
define("app/MyModule", function () {
    return {
            init: function(){
                console.log('Hello World!');
            }
        }
});
Другие вопросы по тегам