0
如何从节点中的RequireJS模块导出函数?通过代码,我得到了一个空对象,而不是我期望的Backbone模型。使用节点中的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
。
工作就像一个魅力男人。感谢所有的帮助! –
但问题是,它不加载第三方库,如q和my.Class,它们是通过代码使用的bower安装的,而不是用于摩卡的npm安装amd-loader。 –