노드의 RequireJS 모듈에서 함수를 내보내는 방법은 무엇입니까? 내가 가지고있는 코드로, 나는 기대하고있는 백본 모델보다는 빈 객체를 얻는다.노드에서 RequireJS를 사용하여 함수를 내보내는 경우 빈 객체가 반환됩니다.
first.js
에는 다음이 포함
'use strict';
var define=require('amd-define');
define(function (require) {
var Backbone = require('backbone');
// Our basic **Todo** model has `title`, `order`, and `completed` attributes.
var Todo = Backbone.Model.extend({
// Customizations of my model...
});
return Todo;
})
내 테스트 파일 test.js
에는 다음이 포함
'use strict';
var chai =require("chai");
var assert=chai.assert;
var expect=chai.expect;
var Todo=require("first");
describe('Tests for Todo model', function() {
it('should create global variables for Todo', function() {
expect(Todo).to.be.exist;
console.log(typeof (Todo))
});
it('should be created with default values for its attributes', function() {
var todo = new Todo();
expect(todo.get('title')).to.equal('');
});
it('should fire a custom event when state change', function() {
var todo = new Todo();
todo.set({completed: true, order: 1});
todo.set('title', 'my title');
});
});
그것은 Todo
함수 아니라고 오류를 제공합니다. console.log
문은 object
을 인쇄합니다.
매력적인 남자처럼 일했습니다. 모든 도움에 감사드립니다! –
하지만 문제는 amd-loader를 설치하기 위해 모카에서 사용되는 npm이 아닌 코드에 의해 사용되는 bower를 통해 설치된 q 및 my.Class와 같은 thirdparty 라이브러리를로드하지 않는다는 것입니다. –