部署 Nuxt 应用程序时如何在 Firebase Functions 中启用 Vuex

How to enable Vuex in Firebase Functions when deploying Nuxt app

我正在尝试将 Nuxt SSR 应用程序部署到 Firebase Functions 以从客户端和服务器端提供服务,一切都按预期工作,但是当尝试实施时 @nuxtjs/auth 它在本地工作,但在部署到Firebase,查看 Firebase Functions 控制台时说:

FATAL Enable vuex store by creating store/index.js.

在我的 store 文件夹中,我有几个用于 vuex 空间的文件,我在那里创建了 index.js 文件,并尝试使用和不使用内容,但结果是一样的。

我在部署函数之前所做的是将生成的 .nuxt 文件夹复制到函数文件夹中:

npm run build && rm -rf functions/nuxt && cp -r .nuxt/ functions/nuxt/ && cp nuxt.config.js functions/

之后,这是函数文件夹结构:

这是函数内部的 nuxt 文件夹的结构:

正如您在 nuxt 文件夹中看到的那样,没有存储文件夹,只有一个 store.js 文件,阅读它我发现它说:

store = normalizeRoot(require('../store/index.js'), 'store/index.js')

但是 store 文件夹是两个文件夹,在根文件夹中,所以我将其更改为:

store = normalizeRoot(require('../../store/index.js'), 'store/index.js')

并尝试手动部署功能,但结果是相同的错误消息。

我不知道如何在 Firebase 函数的服务器端启用 Vuex,我认为通过更改 store.js 文件我可以解决它,但我需要在每个部署。正确的解决方法是什么?谢谢。

我通过将我的 store/ 文件夹复制到 functions/ 文件夹解决了这个问题,现在 Firebase Functions 控制台什么也没说,它看起来像工作,但我不确定是否才是正确的解决方法。

我已将预部署命令更改为如下所示:

rm -rf functions/nuxt && cp -r .nuxt/ functions/nuxt/ && cp nuxt.config.js functions/ && cp -r store/ functions/