如何使用Nx和NextJs构建应用并将其部署到Firebase

6pp0gazn  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(93)

我使用@nx/next创建了一个应用程序。所以基本上是一个nextJs 13应用程序使用app routing使用nx
现在,我创建了我的项目,在我的apps/projectName/app文件夹中工作,并创建了几个libs/libName/lib等.就像普通的Nx存储库一样。
我现在到了一个步骤,我想构建和部署我的工作的第一个草案。

firebase experiments:enable webframeworks
firebase init hosting

字符串
然后添加hostingfirestore(因为我也使用firestore),并在检测到我的nextJs项目后接受默认配置。
我结束了

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "hosting": {
    "source": ".",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "frameworksBackend": {
      "region": "asia-east1"
    }
  }
}


现在,由于我构建的项目的路由是dist/apps/projectName,我更改为

{
  "firestore": {
    "rules": "firestore.rules",
    "indexes": "firestore.indexes.json"
  },
  "hosting": {
    "source": "dist/apps/projectName",
    "ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
    "frameworksBackend": {
      "region": "asia-east1"
    }
  }
}


问题是,运行deploy channel现在会触发以下内容:
firebase hosting:channel:deploy --project projectName testChannel
错误:找不到下一个可执行文件。
当我创建一个新的干净的项目,没有Nx,它是非常简单的,但与Nx,我不知道我应该部署什么,即使它看起来类似的结构作为我的构建文件夹。我不确定什么是正确的配置,以允许部署一个NextJs应用程序在一个NX存储库使用firebase。

yvt65v4c

yvt65v4c1#

看起来像这一天monorepo不支持。
https://github.com/firebase/firebase-tools/issues/6049
我会尝试手动使用配置,如果找到解决方案,我会进行编辑。

相关问题