bsr*_*bsr 14 javascript node.js
我在我的javascript文件中导出了以下模块,以便我可以从基于node.js的构建设置(grunt,require ..)访问它.
....
if(module && module.exports) {
module.exports = m;
}
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中使用相同的文件时,它会出错
Uncaught ReferenceError: module is not defined const.js:49
(anonymous function)
Run Code Online (Sandbox Code Playgroud)
我不使用node作为后端.我怎么能避免这个错误?也就是说,我需要出口m,这样require它的构建(基于节点)中,但在浏览器中独立工作.
为什么浏览器不将变量模块视为未定义而不抛出任何错误?
谢谢.
Que*_*tin 35
测试typeof module !== "undefined"代替module
为什么浏览器不将变量模块视为未定义而不抛出任何错误?
因为,以及未定义,它也是未声明的.当您在变量名中输入拼写错误时,这是一个很好的功能.例如,以下错误更好,而不是被视为false:
var loose = true;
if (lose) {
}
Run Code Online (Sandbox Code Playgroud)