2015-06-09 1 views
0

Я довольно новичок в написании кода javascript с помощью AMD. Я застрял на выяснить, как написать несколько функций в файле:Написание нескольких функций в модуле javascript AMD

define(function(){ 
    return { 
    and: function(a,b){ 
     return (a&&b); 
    } 
    }; 

} 

); 

Я попробовал написать еще одну функцию plus следующим образом:

define(function(){ 
    return { 
    plus: function(a,b){ 
     return (a+b); 
    } 
    }; 

} 

); 

Но когда я использую хрюкать для тестирования, то есть не удалось обнаружить функцию плюс

+0

Что именно вы хотите? Определить 2 _spearate_ функции или объект _one_ с двумя функциями? –

+0

2 отдельных функции – user1692342

ответ

2

Вы должны поместить каждый модуль в свой собственный файл. По крайней мере requireJS (вы используете это?) Определяет имя модуля по его имени файла (без .js).

Таким образом, файл, находящийся в /modules/A.js, будет иметь имя модуля «modules/A».

Если вы действительно хотите, чтобы определить несколько модулей в один файл, вы можете сделать это в более явном виде, как это:

define("A", [], function() { return ...whatever... }); 
define("B", [], function() { return ...whatever... }); 

Edit:

для определения один модуль с двумя функциями вы можете использовать разные шаблоны. Для одноточечного (т. Е. Нет «класса») я обычно делаю что-то вроде этого:

define(function() { 
    var myModule = { 
     fn1: function() { .... }, 
     fn2: function() { .... } 
    }; 
    return myModule; 
}); 
+0

Могли бы вы также дать образец, если я хочу один объект с 2 функциями? – user1692342