Предложение AMD позволяет просто вернуть значение для экспортируемого объекта.Но обратите внимание, что это особенность предложения AMD, это всего лишь предложение API, и оно затруднит перевод модуля обратно в обычный модуль CommonJS.Я думаю, что это нормально, но полезная информация, которую нужно знать.
Так что вы можете сделать следующее:
Я предпочитаю модули, которые экспортируют функцию конструктора, чтобы начинаться с имени в верхнем регистре, поэтомуНеоптимизированная версия этого модуля также будет в Employee.js
define("Employee", function () {
//You can name this function here,
//which can help in debuggers but
//has no impact on the module name.
return function Employee(first, last) {
this.first = first;
this.last = last;
};
});
Теперь в другом модуле вы можете использовать модуль Employee следующим образом:
define("main", ["Employee"], function (Employee) {
var john = new Employee("John", "Smith");
});