好吧,对于其他遇到这个问题的人,这就是我解决这个问题的方法。
首先,我不知道这是否是 Firebase Hosting 或 Nuxt 的错误(我猜是 Nuxt,但我愿意纠正),但这里是要做的......
1) 删除对 ServerMiddleware 的任何引用nuxt.config.js
2)添加以下内容nuxt.config.js
modules: [
'~/local-modules/your-module-name'
],
3)创建目录〜/本地模块/你的模块名称在你的项目根目录中
4)在新目录中,创建package.json:
{
"name": "your-module-name",
"version": "1.0.0"
}
和index.js - 关键的事情,this.addServerMiddleware
允许您调用中间件服务器端
module.exports = function(moduleOptions) {
this.addServerMiddleware('~/serverMiddleware/')
}
5)创建目录~/server中间件
6) 将中间件函数添加到新目录中的index.js:
export default function(req, res, next) {
// YOUR CODE
next() // Always end with next()!
}
7)更新包.json将新的本地模块放在“依赖项”下:
"your-module-name": "file:./local-modules/your-module-name"
不要忘记您也需要在函数目录中执行此操作,否则 Firebase 会抱怨它找不到您的新模块