Задать вопрос
sozercanie_kosmosa
@sozercanie_kosmosa

Народ ну пожалуйста хелп! Как в Dojo сделать правильную загрузку модулей?

ссылка на исходник проекта

Есть два локальных js модуля:

модуль timer:
define(function () {
	var self = this;
	self.description = 'module timer';
	return self;
});


модуль calendar:
define(function () {
	var self = this;
	self.description = 'module calendar';
	return self;
});


загружаю их прямо из HTML - файла так:
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js"
            data-dojo-config="isDebug: 1, async: 1, parseOnLoad: 1"></script>
<script>
    require([
                'js/timer.js',
                'js/calendar.js'
            ]
            , function (timer, calendar) {
                console.log(timer.description);
                console.log(calendar.description);
            }
    );


в результате по логике вещей в консоли я должен получить:
  • module timer
  • module calendar


но вместо этого у меня получается:
  • module calendar
  • module calendar
как сделать загрузку модулей правильно?
  • Вопрос задан
  • 155 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Пора мне на свалку, вот что. Надо было сразу задать вопрос, что это за диковинная конструкция, но я почему-то решил, что вы знаете, что делаете.
// caledar.js
define(function () {
  return {
    description: 'calendar',
  };
});

// timer.js
define(function () {
  return {
    description: 'timer',
  };
});


Совет: никогда не пишите var self = this;, смысл в этом был только во времена ES3. Ну или хотя бы пишите 'use strict';. Не используйте Dojo, не используйте requirejs -- сейчас просто не найдете помощи по этим инструментам. Если это не легаси-проект, который можно переписать за пару дней, нет смысла начинать. Возьмите vue.js и webpack (возьмите готовый бойлерплейт).
Удачного созерцания.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы