#vue.js #jestjs #vuex #jsdom
#vue.js #jestjs #vuex #jsdom
Вопрос:
У меня есть конфигурация, прикрепленная к window
объекту в /public/js/settings.js
файле:
window.mySettings = {
foo: 1,
bar: 2,
}
Я импортирую эти настройки в файл хранилища vuex baz.storage.js
в проекте vue:
import settings from 'mySettings';
Все работает, за исключением того, что jest не понимает этот экспорт:
Cannot find module 'mySettings' from 'baz.storage.js'
И поэтому весь набор jest завершается сбоем.
Комментарии:
1. у вас есть вызываемый модуль
mySettings
? как вы включаете/public/js/settings.js
его в свой скрипт?2.
index.html
вpublic
каталоге in:<script src="/js/settings.js"></script>
Ответ №1:
Если /js/settings.js
включен в вашу страницу, вам не нужно импортировать его в baz.storage.js но сначала убедитесь, settings.js
что это включено.
Например:
<script src="/js/settings.js"></script>
<script src="/js/script2.js"></script>
<script src="/js/script3.js"></script>
settings.js
добавляется сначала в приведенном выше примере, чтобы window.mySettings
он был доступен для script2.js
и script3.js
как только вы объявили переменную в window
, она объявляется в глобальной области видимости, и к ней можно получить доступ из всех других скриптов.
Например:
console.log(window.mySettings)
Комментарии:
1. В любом случае, если я сделаю это
const settings = window.mySettings
, набор тестов jest завершится неудачно, он не увидитsettings
переменную.2. в каком файле вы назначаете
window
параметр aconst
?3. Такого файла нет