如何配置 vite/rollup 以从我的客户端代码中排除 firebase-admin?

How to configure vite/rollup to exclude firebase-admin from my clientside code?

我一直在愉快地使用这个 vite-plugin-ssr 和 firebase 函数,直到有一天 firebase-admin 放弃了我。在删除节点模块并重新安装依赖项之前,我的设置一直有效。似乎 vitefirebase-admin 与客户端捆绑在一起,即使在客户端代码中没有导入引用 firebase-admin,仅在 .page.server.ts 文件中。如何指定 viterollup 不将 firebase-admin 捆绑到 dist/client 目录中?

我真的很感激一些指点...我已经在这个问题上花费了 24 小时以上,此时我正在考虑关闭 SSR,或者将文件复制到一个新项目。基本上我只想使用这个简单的堆栈进行干净的设置:

> vite build "--config" "vite-ssr.config.ts"

node_modules/@firebase/util/node_modules/tslib/tslib.es6.js'fast-crc32c' is imported by fast-crc32c?commonjs-external, but could not be resolved – treating it as an external dependency
transforming (2472) 
✓ 2478 modules transformed.
'default' is not exported by node_modules/firebase/app/dist/index.esm.js, imported by node_modules/firebase-admin/node_modules/@firebase/database/dist/index.esm.js
file: /Users/mateh/github/control-me/web-app/node_modules/firebase-admin/node_modules/@firebase/database/dist/index.esm.js:1:7
1: import firebase from 'firebase/app';
          ^

我尝试过的事情:

将此添加到我的 vite 配置中修复了它:

build: {
    rollupOptions: {
      external: ['firebase-admin'],