![](/img/trans.png)
[英]Firebase emulator gives CORS error when trying to use Firestore
[英]Uncaught Error: Cannot find module 'firebase' when trying to use serverTimestamp in firestore
当我尝试添加 serverTimestamp() 时,出现错误消息,指出未导入 firestore (web V9)。 有什么方法可以使用 serverTimestamp 或只导入 firestore/firebase 以便我可以使用它?
addDoc(collection(db, 'rooms', roomId, 'messages'), {
message:input,
name:user.displayName,
timestamp:firebase.firestore.FieldValue.serverTimestamp()// the issue
})
serverTimestamp 没有变化,您只需要正确导入 firebase 和 firestore(版本 9 兼容)
import firestore from 'firebase/compat';
import firebase from 'firebase/compat/app';
在新的 Modular SDK 中使用serverTimestamp()
不需要admin.firestore.FieldValue
命名空间。您可以简单地导入它,如下所示:
import { addDoc, collection, serverTimestamp } from "firebase/firestore"
// import serverTimestamp ----->^
addDoc(collection(db, 'rooms', roomId, 'messages'), {
message: input,
name: user.displayName,
timestamp: serverTimestamp() // <-- usage
})
当您实际使用 Modular SDK 时,仅为serverTimestamp()
导入compat
版本的 Firestore 会破坏具有 Modular SDK 的目的。
从文档中,
当同时使用 compat 和 Modular 版本时,您的应用程序将编译,在您从应用程序中完全删除 compat 语句和代码之前,您不会获得模块化代码的应用程序大小优势。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.