Я пытаюсь установить шаблонный блок для моей компании.Наши проекты переднего плана построены на классах ES6 и зависят от нашего основного продукта.Код интерфейса передается через процесс сборки в совершенно другой блок кода, который по сути является замыканием и фиксирует зависимость.Поэтому нам не нужно вручную импортировать его, чтобы использовать его.
Скажем, зависимость называется productScope
, и это объект, который имеет некоторые модели DOM, внутренние API и параметры, а также многие другие вещи, необходимые для каждого проекта.На данный момент Мокко бросает ReferenceError: productScope is not defined.
Как я могу издеваться над этим объектом?Или я должен просто использовать реальный объект?
Пример:
class someClass {
constructor() {
const id = productScope.items[0].id
const item = productScope.domModel.querySelector('.some-div')
item.classList.add(`added-${id}`)
}
}
Этот код обернут в код ядра, как показано ниже:
(function(productScope) {
// front end code goes here
}(productScope)
Файл тестирования:
import someClass from '../../js/someClass'
describe('someClass', function() {
const someClass = new someClass()
it('should be a class', function() {
console.log(someClass)
});
});