TypeError:无法使用“in”运算符在未定义中搜索“$__firebase”

Posted

技术标签:

【中文标题】TypeError:无法使用“in”运算符在未定义中搜索“$__firebase”【英文标题】:TypeError: Cannot use 'in' operator to search for '$__firebase' in undefined 【发布时间】:2016-11-20 07:32:55 【问题描述】:

我在使用 OpenShift 托管的应用导入 Firebase npm 模块时出错。

下面一行

firebase = require('firebase/app'),

在日志文件中产生以下输出

TypeError: Cannot use 'in' operator to search for '$__firebase' in undefined at /var/lib/openshift/57408de67628e1e65b00006a/app-root/runtime/repo/node_modules/firebase/app-node.js:19:449
at Object.<anonymous> (/var/lib/openshift/57408de67628e1e65b00006a/approot/runtime/repo/node_modules/firebase/app-node.js:19:617)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/var/lib/openshift/57408de67628e1e65b00006a/app-root/runtime/repo/node_modules/firebase/firebase-node.js:8:18)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:20:19)
at /var/lib/openshift/57408de67628e1e65b00006a/app-root/runtime/repo/app.js:12:20

奇怪的是,如果我执行

$ node app.js

没有错误,应用运行良好。

【问题讨论】:

【参考方案1】:

如果您正在使用带有 start.js 和集群的墨盒,请尝试删除 package.json 中的 --use-strict 选项。

有关严格模式的更多详细信息,请参阅此 *** 问答:in-node-js-how-the-use-strict-statement-is-interpreted

希望对你有帮助!

【讨论】:

这似乎行得通。您能否编辑您的答案以解释为什么它对我自己和未来的读者有用?干杯。

以上是关于TypeError:无法使用“in”运算符在未定义中搜索“$__firebase”的主要内容,如果未能解决你的问题,请参考以下文章

无法使用“in”运算符在未定义中搜索“X”

未捕获的类型错误:无法使用“in”运算符在未定义中搜索“scrollLeft”

未捕获的类型错误:无法使用“in”运算符在未定义的 vue 路由器中搜索“路径”

Angular typeahead异步结果-接收错误“TypeError:无法使用'in'运算符搜索... in ...”

AngularJS指令元素方法绑定-TypeError:无法使用'in'运算符在1中搜索'functionName'

无法在 nodeJS 中对用户进行身份验证:TypeError:无法使用“in”运算符在 fs 中搜索“用户名”