Jest无法从Vue / Vuex项目中的窗口对象中找到模块

问题描述

我在window文件中的/public/js/settings.js对象上附加了一个配置:

window.mySettings = {
  foo: 1,bar: 2,}

我将这些设置导入vue项目中的vuex存储文件baz.storage.js中:

import settings from 'mySettings';

所有操作都可以,只是玩笑不理解此导出:

Cannot find module 'mySettings' from 'baz.storage.js'

所以整个笑话套件都失败了。

解决方法

如果页面中包含/js/settings.js,则无需将其导入 baz.storage.js ,但请确保首先包含settings.js。 / p>

例如:

<script src="/js/settings.js"></script>
<script src="/js/script2.js"></script>
<script src="/js/script3.js"></script>
在上述示例中首先添加了

settings.js,以便window.mySettings可用于script2.jsscript3.js


一旦您在window中声明了变量,便会在全局作用域中声明该变量,并且可以从所有其他脚本中访问它。

例如:

console.log(window.mySettings)