首页 > 解决方案 > 如何在 Node/Browser 模块中选择使用“window”变量?

问题描述

通过从库导入的 NodeJS 运行脚本失败,因为库引用了该window变量。即使在图书馆,它看起来像这样:

{
  baseUrl: (typeof window !== undefined ? window.location.origin : '') + "/blah",
}

通过 NodeJS 运行脚本时,此行仍然会导致以下错误:

ReferenceError:未定义窗口

我认为添加typeof window !== undefined支票就足够了,但显然情况并非如此。我在这里想念什么?(FWIW 导入的模块是 UMD 模块。)

标签: node.jsnode-modulesumd

解决方案


typeof给你一个字符串,所以你需要比较"undefined",而不是undefined。将您的代码更改为:

{
  baseUrl: (typeof window !== "undefined" ? window.location.origin : '') + "/blah",
}

推荐阅读