错误' Firebase未定义'在线IDE

时间:2016-02-03 14:41:19

标签: javascript node.js firebase cloud9-ide

我试图按照此处找到的Firebase上的Web快速入门进行操作,但我仍然遇到了第2步。

我使用HTML5模板在Cloud9上设置了一个新网页,其中包含以下基本内容:

<html>
    <head>

    </head>
    <body>
        "Hallo"

        <script src="https://cdn.firebase.com/js/client/2.4.0/firebase.js">
            var myFirebaseRef = new Firebase('https://luminous-fire-8659.firebaseio.com/');
            myFirebaseRef.set({
              title: "Hello World!",
              author: "Firebase",
              location: {
                city: "San Francisco",
                state: "California",
                zip: 94103
              }
            });
        </script>
    </body>
</html>

如果我没有添加行var Firebase = require(&#34; firebase&#34;);我收到错误

  

&#39; Firebase未定义&#39;。

如果我添加该行,我会收到错误:

  

&#39;未捕获的引用错误:未定义require。

我还尝试使用nodeJS模板,然后在终端中运行命令$ npm install firebase --save。结果显示在终端:

firebase@2.4.0 node_modules/firebase
└── faye-websocket@0.9.3 (websocket-driver@0.5.2)

(所以安装firebase似乎有用)然后添加这段代码,但这并没有什么不同。

安全规则设置为默认值:

{
    "rules": {
        ".read": true,
        ".write": true
    }
}

如何解决这个问题?我没有在本地安装nodeJS的选项(在学校计算机上工作)。

1 个答案:

答案 0 :(得分:4)

require()并不存在于浏览器中 - 它特定于Node.js运行时,而不是JavaScript本身的一部分。您无法在浏览器中使用NPM模块,而无需使用额外的捆绑工具,例如Webpack。

也就是说,原始示例中的代码远没有工作 - 您只需要将src="https://cdn.firebase.com/js/client/2.4.0/firebase.js"放在单独的脚本标记上,而不是包含代码的脚本标记。但要明确的是,这只是简单的JavaScript,而不是Node.js - 如果您尝试在HTML文档中编写Node代码,那么您就会误解Node实际上是什么!