【问题标题】:Javascript error - Require is not definedJavascript 错误 - 未定义要求
【发布时间】:2020-11-08 03:32:24
【问题描述】:

我正在尝试将我的网络应用程序连接到 firebase 数据库。使用本地服务器托管网站时,出现错误index.js:11 Uncaught ReferenceError: Require is not defined

我安装了 npm firebase-tools,我相信我的 html 和 js 设置是正确的。

我真的不知道如何从这里继续前进。欢迎所有帮助。

代码片段

    <script src="https://www.gstatic.com/firebasejs/7.16.1/firebase-app.js"></script>
    
        <script src="https://www.gstatic.com/firebasejs/7.16.1/firebase-firestore.js"></script>
    
        <script src="/__/firebase/init.js"></script>
    
        <script src="index.js"></script>



// Your web app's Firebase configuration
var firebaseConfig = {
    apiKey: "AIzaSyAOjGyQG0eHQLqXomKYKTpdg0tmwaZvaiU",
    authDomain: "library-app-d49fe.firebaseapp.com",
    databaseURL: "https://library-app-d49fe.firebaseio.com",
    projectId: "library-app-d49fe",
    storageBucket: "library-app-d49fe.appspot.com",
    messagingSenderId: "168203985001",
    appId: "1:168203985001:web:d79809c549371b5df642f8"
};

const firebase = require("firebase");

// Required for side-effects
require("firebase/firestore");

【问题讨论】:

  • 也许this 回答可以帮助你。或者你已经看过了?
  • 看看这个doc也许你需要添加延迟到脚本标签
  • @GiovanniEsposito 是的,我看到了,但我不太明白。
  • 更新: 我删除了我的 JS 文件中包含 required 的那两行,现在一切正常 - 我在数据库中找到了我的条目。谁能解释我为什么会这样?
  • require 在网络浏览器上不起作用,它适用于服务器端的 nodejs

标签: javascript firebase node-modules


【解决方案1】:

您的项目似乎是标准 Web 项目(不存在模块捆绑程序)。这就是为什么你不能使用require(),它是一个 Node.js API。

如果确实是这样,那你可以setup firebase using their CDN's

index.html

<body>
  <!-- Firebase App -->
  <script src="https://www.gstatic.com/firebasejs/7.16.1/firebase-app.js"></script>
  <!-- Firestore -->
  <script src="https://www.gstatic.com/firebasejs/7.16.1/firebase-firestore.js"></script>
  <!-- Your custom JS file -->
  <script src="index.js"></script>
</body>

index.js

var firebaseConfig = {
  apiKey: "AIzaSyDOCAbC123dEf456GhI789jKl01-MnO",
  authDomain: "myapp-project-123.firebaseapp.com",
  databaseURL: "https://myapp-project-123.firebaseio.com",
  projectId: "myapp-project-123",
  storageBucket: "myapp-project-123.appspot.com",
  messagingSenderId: "65211879809",
  appId: "1:65211879909:web:3ae38ef1cdcb2e01fe5f0c",
  measurementId: "G-8GSGZQ44ST"
};


firebase.initializeApp(firebaseConfig);

如果您使用的是 firestore,则可以创建它的一个实例,并将其分配给一个常量以供以后使用:

const firestore = firebase.firestore()

应该可以的。

要了解有关require() 的更多信息,请查看此question

【讨论】:

    猜你喜欢
    • 2018-01-25
    • 2019-08-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 2018-07-14
    • 2019-03-13
    相关资源
    最近更新 更多