如何避免未捕获的ReferenceError

我有我的JavaScript文件中的下面的模块导出,以便我可以从基于node.js的构build设置(咕噜,需要..)访问它。

.... if(module && module.exports) { module.exports = m; } 

当我在浏览器中使用相同的文件,它会给出错误

 Uncaught ReferenceError: module is not defined const.js:49 (anonymous function) 

使用节点作为后端。 我怎样才能避免这个错误? 也就是说,我需要导出m以便在构build期间(基于节点) require它,但在浏览器中独立运行。

为什么浏览器不将variables模块视为未定义的,不抛出任何错误?

谢谢。

testingtypeof module !== "undefined"而不是module

为什么浏览器不将variables模块视为未定义的,不抛出任何错误?

因为,除了未定义之外,它也是未声明的 。 当您在variables名中input错误时,这是​​一个非常好的function。 例如,以下错误更好,而不是被视为false:

 var loose = true; if (lose) { }