. Я играю и узнаю о клятвах с личным проектом. Это небольшая клиентская библиотека, тестирование которой выполняется в vows. Поэтому я должен собрать и протестировать файл, написанный следующим образом:
(function(exports) {
var module = export.module = { "version":"0.0.1" };
//more stuff
})(this);
В моем тестировании (на основе science.js , d3 и т. д. )требуется такой модуль:
require("../module");
Я продолжал получать сообщение об ошибке «модуль не определен» при попытке запустить тесты, поэтому я пошел в repl и запустил:
require("../module")
и он вернулся:
{ module: { version: "0.0.1" } }
Я понимаю, что мог бы сделать что-то вроде:
var module = require("../module").module;
но чувствую, что я создаю проблему, делая это таким образом, тем более что библиотеки, на которых я основывал этот проект, делают это в формате, который я описал.
Я хотел бы, чтобы мой проект вел себя аналогично тем, на которых я его основывал, где:
require("../module");
создает переменную в этом пространстве имен:
module.version; //is valid.
Я видел это во множестве библиотек, и я следую формату и мыслительному процессу до T, но считаю, что могу упустить что-то о поведении require, о котором я не знаю.