由于未从 @firebase/database-compat 导出文件而导致模块未找到错误

bro*_*joe 5 firebase reactjs firebase-authentication firebase-realtime-database google-cloud-firestore

我遇到以下错误:

Module not found: Error: Package path ./standalone is not exported from package C:\Users\brohj\WebstormProjects\ReactExpressFirebaseAuth\node_modules\@firebase\database-compat (see exports field in C:\Users\brohj\WebstormProjects\ReactExpressFirebaseAuth\node_modules\@firebase\database-compat\package.json).
Run Code Online (Sandbox Code Playgroud)

index.standalone.js 文件包含 webpack.config 文件中填充的所需文件。这会影响出口吗?

以下是webpack.config文件中的后备条目:“node_modules/react-scripts/config”

module.exports = function(webpackEnv) {
    ...
    resolve: {
     ...
    },

    alias: {
     ...
    },
    // added code:
    fallback: {
                "assert": require.resolve("assert/"),
                "stream": require.resolve("stream-browserify"),
                "url": require.resolve("url/"),
                "util": require.resolve("util/"),
                "crypto": require.resolve("crypto-browserify"),
                "os": require.resolve("os-browserify/browser"),
                "querystring": require.resolve("querystring-es3"),
                "buffer": require.resolve("buffer/"),
                "https": require.resolve("https-browserify"),
                "http": require.resolve("stream-http"),
                "constants": require.resolve("constants-browserify"),
                "zlib": false,
                "fs": false,
                "net": false,
                "tls": false,
   

},
Run Code Online (Sandbox Code Playgroud)

'node_modules/@firebase/database-compat/standalone/package.json'

{
  "name": "@firebase/database-compat/standalone",
  "description": "The entry point for sharing code with Admin SDK",
  "main": "../dist/index.standalone.js", // file being exported, suppposedly.
  "typings": "../dist/database-compat/src/index.standalone.d.ts",
  "private": true,

}

Run Code Online (Sandbox Code Playgroud)

'node_modules/@firebase/database-compat/dist/index.standalone.js'

Object.defineProperty(exports, '__esModule', { value: true });


var require$$2 = require('util');
var require$$0 = require('buffer');
var require$$1 = require('events');
var require$$0$1 = require('stream');
var require$$1$1 = require('crypto');
var require$$2$1 = require('url');
var require$$0$2 = require('assert');
var require$$1$2 = require('net');
var require$$2$2 = require('tls');
var require$$1$3 = require('@firebase/util');
var require$$2$3 = require('tslib');
var require$$3 = require('@firebase/logger');
var component = require('@firebase/component');

...


Run Code Online (Sandbox Code Playgroud)

我一直在 StackOverflow 上搜索并查看解决方案,这是我所能取得的进展。我遇到了由于 webpack 5 缺乏支持而导致的错误,从 190 个错误减少到 4 个正在寻找未发生的 ./standalone.js 文件导出的文件。我提出了四个错误之一。

接下来我会尝试一下snowpack,看看错误是否有差异。如果我想出解决方案,我会告诉你。否则,我愿意接受建议。

谢谢。

bro*_*joe 0

将Firebase升级到最新版本并开始使用yarn作为我的构建工具,之后就没有这个问题了。