У меня есть класс, который я определил в JavaScript, как это:функция экспорта/класс от модуля Node.js
var CoolClass = function() {
this.prop1 = 'cool';
this.prop2 = 'neato';
}
CoolClass.prototype.doCoolThings = function(arg1, arg2) {
console.log(arg1 + ' is pretty ' + this.prop1;
}
modules.export = CoolClass;
Мне нужно, чтобы иметь возможность экспортировать это, чтобы я мог проверить его в Mocha с использованием требуют. Но я бы также хотел, чтобы этот класс был создан в браузере.
На данный момент я могу загрузить это в браузер, создать экземпляр, и это хорошо. (Очевидно, я получаю сообщение об ошибке в консоли о не понимая ключевое слово «экспорт» или «модуль»)
Как правило экспортировать несколько одиночных функций с помощью
exports.someFunction = function(args){};
Но теперь, когда я хочу просто экспортировать, что один функции, ни один из методов, которые я добавил через цепочку прототипов, не определен.
Я пробовал module.exports, но это тоже не похоже на трюк. Мой Mocha спецификации требует файл так:
var expect = require('chai').expect;
var coolClass = require('../cool-class.js');
var myCoolClass;
beforeEach(function() {
myCoolClass = new coolClass();// looks like here is where the issue is
});
describe('CoolClass', function() {
// if I instantiate the class here, it works.
// the methods that were added to CoolClass are all undefined
});
Похоже, мой beforeEach в мокко, где он получает споткнулся. Я могу создать экземпляр класса в реальной спецификации, и он работает отлично.
Не могли бы вы попытаться ответить ниже? Я думаю, вам нужно указать, что beforeEach в родительском описать. Подробности моего ответа. – aiapatag